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.
The Android Native Development Kit (NDK): a toolset that allows you to use C and C++ code with Android, and provides platform libraries that allow you to manage native activities and access physical device components, such as sensors and touch input.
Using Android Studio 2.2 and higher, you can use the NDK to compile C and C++ code into a native library and package it into your APK using Gradle, the IDE's integrated build system.
Android Studio installs all versions of the NDK in the android-sdk /ndk/ directory. Each version is located in a subdirectory with the version number as its name.
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"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With