Стандартная библиотека С++ 20 на Android? Поддержка std::source_location

У меня проблема с поддержкой Android в log4cplus . Я могу использовать std::source_location в MSVC, а также в GCC и Clang в Ubuntu. Но в Android NDK, хотя он и использует Clang 14, похоже, этого не хватает. Есть ли какая-то переменная, которую я могу использовать, чтобы включить ее или С++ 20, соответствующую стандартной библиотеке С++ в сборке CMake Android? См. https://github.com/wilx/log4cplus/actions/runs/4213340922/workflow дескриптор действия GitHub.

Вы можете проверить его поддержку с помощью __cpp_lib_source_location функционального теста.

Eljay 19.02.2023 14:02

Кстати, последняя версия Xcode 14.2 на Mac по-прежнему не поддерживает std::source_location.

prapin 19.02.2023 15:48
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Веб-скрейпинг, как мы все знаем, это дисциплина, которая развивается с течением времени. Появляются все более сложные средства борьбы с ботами, а...
Калькулятор CGPA 12 для семестра
Калькулятор CGPA 12 для семестра
Чтобы запустить этот код и рассчитать CGPA, необходимо сохранить код как HTML-файл, а затем открыть его в веб-браузере. Для этого выполните следующие...
ONLBest Online HTML CSS JAVASCRIPT Training In INDIA 2023
ONLBest Online HTML CSS JAVASCRIPT Training In INDIA 2023
О тренинге HTML JavaScript :HTML (язык гипертекстовой разметки) и CSS (каскадные таблицы стилей) - две основные технологии для создания веб-страниц....
Как собрать/развернуть часть вашего приложения Angular
Как собрать/развернуть часть вашего приложения Angular
Вам когда-нибудь требовалось собрать/развернуть только часть вашего приложения Angular или, возможно, скрыть некоторые маршруты в определенных средах?
Запуск PHP на IIS без использования программы установки веб-платформы
Запуск PHP на IIS без использования программы установки веб-платформы
Установщик веб-платформы, предлагаемый компанией Microsoft, перестанет работать 31 декабря 2022 года. Его закрытие привело к тому, что мы не можем...
Оптимизация React Context шаг за шагом в 4 примерах
Оптимизация React Context шаг за шагом в 4 примерах
При использовании компонентов React в сочетании с Context вы можете оптимизировать рендеринг, обернув ваш компонент React в React.memo сразу после...
1
2
55
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Libc++ поддерживает только std::source_location, начиная с LLVM/Clang версии 16, см. https://libcxx.llvm.org/Status/Cxx20.html, что, насколько я могу судить, означает, что на данный момент ни один Android NDK не поддерживает его.

В Ubuntu вы, вероятно, используете libstdc++ с Clang, который является отдельной реализацией стандартной библиотеки (часть GCC).

Другие вопросы по теме