Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
596 views
in Technique[技术] by (71.8m points)

c++ - How to enable C++11 for Android Studio?

I'm using Android studio 1.3.2+ndk-r11b-windows-x86_64 and try to build project with native code and C++11 features (share_ptr, weak_ptr and etc.) but got some errors. For example:

Error:(22, 6) error: 'shared_ptr' in namespace 'std' does not name a template type

The issue is: how to use C++11 with Android Studio+NDK?

p.s. I added flag cppFlags.add ("-std=c++11") into "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"
}

but it's seems didn't work.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

On build.gradle file of the App I go to android -> defaultConfig -> externalNativeBuild -> cmake and I edit the cppFlags parameter from this

cppFlags ""

to this

cppFlags "-std=c++11"

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...