Opções do Compilador AndroidStudio C ++

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

Ao tentar executar o meu código, que é incluir arquivos C ++, recebo o seguinte erro -

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. 

Como isso pode ser resolvido? Este é o meu primeiro projeto envolvido com arquivos C ++.

4 Comments
Asu 11/06/2016
Você deve ativar "as opções de compilador -std = c ++ 11 ou -std = gnu ++ 11".
1 Christian Hackl 11/06/2016
Aprender C ++ no Android é uma péssima ideia. De qualquer forma, você deve, de alguma forma, fazer seu IDE passar os sinalizadores corretos para o compilador, a fim de usar os recursos do C ++ 11 e / ou usar um compilador para o qual o C ++ 11 não é mais experimental. Ouvi dizer que há algum botão "Personalizar suporte para C ++" ou menu suspenso em algum lugar na interface do usuário, que pode fazer isso por você.
eyal 11/06/2016
Eu sei que tenho que usar -std = c + + 11 ou -std = gnu + + 11, mas como posso configurar isso?
Michael 11/06/2016
Existem várias formas de criar código nativo a partir do Android Studio e não vejo qualquer menção sobre qual delas você está usando. Se você tiver um arquivo Android.mk, você pode adicionar qualquer sinalizador que desejar a LOCAL_CPPFLAGS . Caso contrário, você provavelmente precisará usar algum tipo de propriedade cppFlags em seu arquivo build.gradle.

2 Answers


eyal 11/06/2016.

Eu tenho reconstruir meu projeto e usar o C ++ 11 em vez de padrão de ToolChain na página Personalizar suporte de C ++. Eu acho que é um jeito sujo de resolver esse problema.

1 comments
Alex Cohn 07/30/2017
Talvez 'ToolChain Default' não seja a maneira perfeita de apresentar uma das escolhas, mas essa é a maneira limpa de lidar com esse problema. C ++ tem diferentes 'modos' não exatamente compatíveis, por exemplo, C ++ 11 e C ++ 13, e é sua responsabilidade escolher o dialeto apropriado.

eyal 11/07/2016.

No build gradle do aplicativo, em android -> defaultConfig, você pode adicionar / alterar o seguinte

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

Related questions

Hot questions

Language

Popular Tags