AndroidStudio C ++ Compiler Valg

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

Mens jeg forsøger at køre min kode, som er med C ++-filer, får jeg følgende fejl -

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. 

Hvordan kan det løses? Dette er mit første projekt, der involverede C ++-filer.

4 Comments
Asu 11/06/2016
Du skal aktivere "the -std = c ++ 11 eller -std = gnu ++ 11 compiler muligheder."
1 Christian Hackl 11/06/2016
At lære C ++ på Android er en meget dårlig idé. Alligevel skal du på en eller anden måde lade din IDE sende de korrekte flag til kompilatoren for at bruge C ++ 11-funktioner og / eller bruge en compiler, som C ++ 11 ikke længere er eksperimentel til. Jeg hører, at der er nogle "Tilpas C + + Support" -knappen eller dropdown-menuen et sted i brugergrænsefladen, som kan gøre det for dig.
eyal 11/06/2016
Jeg ved, at jeg skal bruge -std = c + + 11 eller -std = gnu ++ 11 men hvordan kan jeg konfigurere det?
Michael 11/06/2016
Der er flere måder at opbygge native kode fra Android Studio på, og jeg kan ikke se nogen omtale af hvilken en du bruger. Hvis du har en Android.mk-fil, kan du tilføje eventuelle flag du vil have til LOCAL_CPPFLAGS . Ellers skal du sandsynligvis bruge en slags cppFlags egenskab i din build.gradle-fil.

2 Answers


eyal 11/06/2016.

Jeg har genopbygget mit projekt og brug C ++ 11 i stedet for ToolChain Default i Tilpas C ++ Support side. Jeg synes, det er en beskidt måde at løse dette problem på.

1 comments
Alex Cohn 07/30/2017
Måske 'ToolChain Default' er ikke den perfekte måde at præsentere et af valgene på, men det er den rene måde at håndtere dette problem på. C ++ har forskellige ikke-kompatible "modes", f.eks. C ++ 11 og C ++ 13, og det er dit ansvar at vælge den passende dialekt.

eyal 11/07/2016.

I app's build gradle under android -> defaultConfig kan du tilføje / ændre følgende

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

Related questions

Hot questions

Language

Popular Tags