Opzioni del compilatore C ++ di AndroidStudio

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

Durante il tentativo di eseguire il mio codice, che include i file C ++, ottengo il seguente errore:

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. 

Come può essere risolto? Questo è il mio primo progetto che riguarda i file C ++.

4 Comments
Asu 11/06/2016
È necessario abilitare "le opzioni del compilatore -std = c ++ 11 o -std = gnu ++ 11."
1 Christian Hackl 11/06/2016
Imparare C ++ su Android è una pessima idea. Ad ogni modo, devi in ​​qualche modo far passare il tuo IDE i flag corretti al compilatore per poter usare le caratteristiche di C ++ 11 e / o usare un compilatore per il quale C ++ 11 non è più sperimentale. Ho sentito che c'è un pulsante "Personalizza supporto C ++" o un menu a discesa da qualche parte nell'interfaccia utente che può farlo per te.
eyal 11/06/2016
So che devo usare -std = c ++ 11 o -std = gnu ++ 11 ma come posso configurarlo?
Michael 11/06/2016
Esistono diversi modi per creare codice nativo da Android Studio e non vedo alcuna menzione di quale stai utilizzando. Se hai un file Android.mk puoi aggiungere qualsiasi flag che desideri lì a LOCAL_CPPFLAGS . Altrimenti probabilmente dovrai usare una sorta di proprietà cppFlags nel tuo file build.gradle.

2 Answers


eyal 11/06/2016.

Ho ricostruito il mio progetto e uso C ++ 11 al posto di ToolChain Default nella pagina Personalizza il supporto C ++. Penso che sia un modo sporco per risolvere questo problema.

1 comments
Alex Cohn 07/30/2017
Forse 'ToolChain Default' non è il modo perfetto per presentare una delle scelte, ma questo è il modo pulito per affrontare questo problema. Il C ++ ha diverse "modalità" non esattamente compatibili, ad esempio C ++ 11 e C ++ 13, ed è tua responsabilità scegliere il dialetto appropriato.

eyal 11/07/2016.

Nel gradle di build dell'app in Android -> defaultConfig puoi aggiungere / modificare quanto segue

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

Related questions

Hot questions

Language

Popular Tags