我正在使用 Android studio 1.3.2+ndk-r11b-windows-x86_64 并尝试使用 native 代码和 C++11 功能(share_ptr、weak_ptr 等)构建项目,但出现了一些错误。例如:
Error:(22, 6) error: 'shared_ptr' in namespace 'std' does not name a template type
问题是:如何在Android Studio+NDK中使用C++11?
附言
我将标志 cppFlags.add ("-std=c++11")
添加到 "build.gradle"
android.ndk {
moduleName = "game"
cppFlags.addAll(["-I${file("src/main/jni/native_app_glue")}".toString(),
"-I${file("src/main/jni")}".toString(),
"-I${file("src/main/jni/data")}".toString()])
cppFlags.add ("-std=c++11")
ldLibs.addAll(["android", "EGL", "GLESv2", "OpenSLES", "log"])
stl = "stlport_static"
}
但它似乎没有工作。
最佳答案
在应用程序的 build.gradle 文件上,我转到 android -> defaultConfig -> externalNativeBuild -> cmake 并从中编辑 cppFlags 参数
cppFlags ""
到这里
cppFlags "-std=c++11"
关于android - 如何为 Android Studio 启用 C++11?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36667374/