Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在CMakeLists中设置ANDROID_STL 我正在编译Android Studio 2.2中的C++库代码。我遵循新的指南,将所有文件添加到我的项目中,并使用CMake(和CMakeLists.txt)编译它。我想使用C++14功能,以及原子、stoi等功能,但构建失败,出现了错误 error: no type named 'condition_variable' in namespace 'std' error: no member named 'stoi' in namespace 'std'_Android_C++_Android Ndk_Cmake - Fatal编程技术网

在CMakeLists中设置ANDROID_STL 我正在编译Android Studio 2.2中的C++库代码。我遵循新的指南,将所有文件添加到我的项目中,并使用CMake(和CMakeLists.txt)编译它。我想使用C++14功能,以及原子、stoi等功能,但构建失败,出现了错误 error: no type named 'condition_variable' in namespace 'std' error: no member named 'stoi' in namespace 'std'

在CMakeLists中设置ANDROID_STL 我正在编译Android Studio 2.2中的C++库代码。我遵循新的指南,将所有文件添加到我的项目中,并使用CMake(和CMakeLists.txt)编译它。我想使用C++14功能,以及原子、stoi等功能,但构建失败,出现了错误 error: no type named 'condition_variable' in namespace 'std' error: no member named 'stoi' in namespace 'std',android,c++,android-ndk,cmake,Android,C++,Android Ndk,Cmake,这就是我的CmakeList的样子(其他行设置源文件和其他内容): 我在android页面()上找到了这篇文章,但我不知道在使用CMakeLists而不是ndk build时如何以及是否可以做到这一点。我看到了其他问题,使用 C++静态>强>运行时,但只使用NDK Bug .< /P> < P>用于生成Android原生库的交叉编译过程使用NDK库中的C++依赖关系。谷歌提供的NDK很好,它有很多东西,但是对C++11和C++14的支持并不完整 如果您想使用C++14功能,您可以使用其他NDK,

这就是我的CmakeList的样子(其他行设置源文件和其他内容):


我在android页面()上找到了这篇文章,但我不知道在使用CMakeLists而不是ndk build时如何以及是否可以做到这一点。我看到了其他问题,使用<强> C++静态>强>运行时,但只使用NDK Bug .< /P> < P>用于生成Android原生库的交叉编译过程使用NDK库中的C++依赖关系。谷歌提供的NDK很好,它有很多东西,但是对C++11和C++14的支持并不完整

如果您想使用C++14功能,您可以使用其他NDK,例如。使用CrystaX,您还可以获得C++17支持。

  • 这对于cmake情况更有用:
    
    参数“-DANDROID\u STL=c++\u共享
    
  • Gradle还将libc++_shared.so打包到APK中,当使用
    c++_shared
    时,绕过Gradle可能会给早期版本的Android操作系统上的应用程序带来麻烦

在提出这个问题时,Android Studio可能会遇到问题;现在Android Studio 3.1.3应该可以了

您是否尝试过按描述从gradle脚本设置它?您是否尝试按描述设置
CMAKE\u CXX\u标准
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})