android - 如何为 Android Studio 启用 C++11?

标签 android c++ c++11 android-studio

我正在使用 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/

相关文章:

android - Gradle 多项目 android 库设置与 maven 本地

android - 为所有 Activity 创建一个唯一的 ListAdapter?

android - 在NDK w/gradle上编译两个项目,其中一个依赖另一个的binary

c++ - 我可以用纯虚拟函数覆盖虚拟函数吗?

c++ - CMake clang 和 c++0x

java - Java中变量值从String到Long的转换

android - 选择输入文本字段时如何删除android中的边框?

c++ - 是否有 C++ 风格指南质量指标?

c++ - PlatformIO ATMega324P util/delay.h 不准确

c++ - 修复了 VSync 打开时的时间步长卡顿