У меня проблема с поддержкой 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.
Кстати, последняя версия Xcode 14.2 на Mac по-прежнему не поддерживает std::source_location
.
Libc++ поддерживает только std::source_location
, начиная с LLVM/Clang версии 16, см. https://libcxx.llvm.org/Status/Cxx20.html, что, насколько я могу судить, означает, что на данный момент ни один Android NDK не поддерживает его.
В Ubuntu вы, вероятно, используете libstdc++ с Clang, который является отдельной реализацией стандартной библиотеки (часть GCC).
Вы можете проверить его поддержку с помощью
__cpp_lib_source_location
функционального теста.