Я компилирую код библиотеки C++ в Android Studio 2.2. Я следую новому руководству, где я добавляю все файлы в свой проект и компилирую его с помощью CMake (и CMakeLists.txt), например this. Я хочу использовать функции C++ 14, и такие вещи, как атомный, stoi и т. Д., Но здание не работает с ошибками.Set ANDROID_STL в CMakeLists
error: no type named 'condition_variable' in namespace 'std'
error: no member named 'stoi' in namespace 'std'
Это то, что мой CMakeLists выглядит (остальные строки устанавливают исходные файлы и другие вещи):
find_library(GLES GLESv2)
include_directories(${COMMON_PATH} /usr/local/include)
set(ANDROID_STL "c++_shared")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -latomic")
add_library(native-lib SHARED ${COMMON_SRC})
target_link_libraries(native-lib ${GLES})
Я нашел эту статью на андроид странице (here), но я не знаю, как и если я могу это сделать при использовании CMakeLists, а не ndk-build. Я вижу другой вопрос, который решает его, используя статическую среду C++ _ static, но только с ndk-build.
Вы пытались установить его из своего сценария градации, как описано [здесь] (https://developer.android.com/ndk/guides/cmake.html)? – Michael
Вы пытались установить 'CMAKE_CXX_STANDARD', как описано [здесь] (http://stackoverflow.com/questions/38132793/how-to-control-compiler-flag-invoked-when-specifing-cmake-cxx-standard)? – Florian