AndroidStudio C ++ Compiler-alternativer

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

Mens jeg prøver å kjøre koden min, som inkluderer C ++-filer, får jeg følgende feilmelding:

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 mitt første prosjekt som involverte C ++-filer.

4 Comments
Asu 11/06/2016
Du må aktivere "the-std = c ++ 11 eller -std = gnu ++ 11 kompilatoralternativer."
1 Christian Hackl 11/06/2016
Lære C ++ på Android er en veldig dårlig ide. Uansett må du på en eller annen måte gjøre IDE passere de riktige flaggene til kompilatoren for å kunne bruke C ++ 11-funksjoner og / eller bruke en kompilator som C ++ 11 ikke lenger er eksperimentell for. Jeg hører at det er noen "Tilpass C ++ Support" -knappen eller rullegardinmenyen et sted i brukergrensesnittet som kan gjøre det for deg.
eyal 11/06/2016
Jeg vet at jeg må bruke -std = c + + 11 eller -std = gnu ++ 11, men hvordan kan jeg konfigurere det?
Michael 11/06/2016
Det er flere måter å bygge opprinnelig kode fra Android Studio, og jeg ser ingen omtale av hvilken du bruker. Hvis du har en Android.mk-fil, kan du legge til noen flagg du vil ha til LOCAL_CPPFLAGS . Ellers må du sannsynligvis bruke en slags cppFlags eiendom i filen build.gradle.

2 Answers


eyal 11/06/2016.

Jeg har gjenoppbygd prosjektet mitt og bruker C ++ 11 i stedet for ToolChain Standard i Tilpass C ++ Support-siden. Jeg synes det er en skitten måte å løse dette problemet på.

1 comments
Alex Cohn 07/30/2017
Kanskje 'ToolChain Default' er ikke den perfekte måten å presentere et av valgene på, men dette er den rene måten å håndtere dette problemet på. C ++ har forskjellige ikke akkurat kompatible "moduser", for eksempel C ++ 11 og C ++ 13, og det er ditt ansvar å velge riktig dialekt.

eyal 11/07/2016.

I appens byggegrad under android -> defaultConfig kan du legge til / endre følgende

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

Related questions

Hot questions

Language

Popular Tags