AndroidStudio C ++ - Compileroptionen

eyal 09/05/2017. 2 answers, 83 views
c++ android-studio android-studio android-ndk android-ndk jni

Beim Versuch, meinen Code auszuführen, der C ++ - Dateien enthält, erhalte ich den folgenden Fehler:

Error:(32, 2) error: This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options. 

Wie kann es gelöst werden? Dies ist mein erstes Projekt, das sich mit C ++ - Dateien beschäftigt.

4 Comments
Asu 11/06/2016
Sie müssen die Compileroptionen "-std = c ++ 11 oder -std = gnu ++ 11" aktivieren.
1 Christian Hackl 11/06/2016
C ++ auf Android zu lernen ist eine sehr schlechte Idee. Wie auch immer, du musst irgendwie deine IDE dazu bringen, die richtigen Flags an den Compiler zu übergeben, um C ++ 11-Features zu verwenden und / oder einen Compiler zu verwenden, für den C ++ 11 nicht mehr experimentell ist. Ich höre, dass irgendwo auf der Benutzeroberfläche eine Schaltfläche "Customize C ++ Support" oder ein Dropdown-Menü vorhanden ist, die das für Sie erledigen kann.
eyal 11/06/2016
Ich weiß, dass ich -std = C ++ 11 oder -std = Gnu ++ 11 verwenden muss, aber wie kann ich das konfigurieren?
Michael 11/06/2016
Es gibt mehrere Möglichkeiten, nativen Code aus Android Studio zu erstellen, und ich sehe keine Angabe darüber, welche Sie verwenden. Wenn Sie eine Android.mk-Datei haben, können Sie alle gewünschten Flags zu LOCAL_CPPFLAGS . Andernfalls müssen Sie wahrscheinlich eine Art cppFlags Eigenschaft in Ihrer build.gradle-Datei verwenden.

2 Answers


eyal 11/06/2016.

Ich habe mein Projekt neu erstellt und benutze C ++ 11 anstelle von ToolChain Default in Customize C ++ Support Seite. Ich denke, es ist ein schmutziger Weg, um dieses Problem zu lösen.

1 comments
Alex Cohn 07/30/2017
Vielleicht ist 'ToolChain Default' nicht der perfekte Weg, um eine der Möglichkeiten zu präsentieren, aber dies ist der saubere Weg, um mit diesem Problem umzugehen. C ++ hat verschiedene, nicht genau kompatible 'Modi', zB C ++ 11 und C ++ 13, und es liegt in Ihrer Verantwortung, den passenden Dialekt zu wählen.

eyal 11/07/2016.

In App Build-Gradle unter Android -> defaultConfig können Sie Folgendes hinzufügen / ändern

externalNativeBuild {
        cmake {
            cppFlags "-std=c++11"
        }
    } 

Related questions

Hot questions

Language

Popular Tags