Aktivieren der C++11 für Android Studio?
Bin ich mit Android studio 1.3.2+ndk-r11b-windows-x86_64 und versuchen, zu bauen-Projekt mit native-code und C++ - 11-features (share_ptr, weak_ptr und etc.) aber es hat einige Fehler. Zum Beispiel:
Error:(22, 6) Fehler: "shared_ptr" in namespace 'std' nicht der name einer template-Typ
Das Problem: Verwendung von C++11 mit Android Studio+NDK?
p.s.
Ich fügte hinzu, Flagge cppFlags.add ("-std=c++11")
in "bauen.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"
}
aber es scheint nicht funktioniert hat.
- Ich würde die Umstellung von stlport zu libc++ oder gnustl.
- geschaltet gnustl
- Ersetzt den string "stl = stlport_static" zu "stl = gnustl_static" in der Datei "build.gradle". Danke für die Hilfe, Michael.
- Öffnen Sie nun in der AOSP bug-tracker: Problem 216331: STLport nicht unterstützt C++11.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Auf zu bauen.gradle-Datei der App, die ich gehen, um android -> defaultConfig -> externalNativeBuild -> cmake und ich Bearbeiten Sie die cppFlags parameter aus dieser
zu diesem
set( CMAKE_CXX_STANDARD 14 )
. Ich Frage mich, warum diese option hat keine Wirkung, wenn Sie CMake aufgerufen wird, durch Gradle? Es funktioniert, wenn ich generieren außerhalb von Gradle. Scheint, wie Gradle ist, ziehen einige Spielereien.