Opciones del compilador AndroidStudio C ++

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

Al intentar ejecutar mi código, que incluye archivos C ++, aparece el siguiente error:

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. 

¿Cómo se puede resolver? Este es mi primer proyecto relacionado con archivos C ++.

4 Comments
Asu 11/06/2016
Debe habilitar "las opciones del compilador -std = c ++ 11 o -std = gnu ++ 11".
1 Christian Hackl 11/06/2016
Aprender C ++ en Android es una muy mala idea. De todos modos, debe de alguna manera hacer que su IDE pase las banderas correctas al compilador para usar las características de C ++ 11 y / o usar un compilador para el cual C ++ 11 ya no sea experimental. Escuché que hay algún botón "Personalizar compatibilidad con C ++" o menú desplegable en algún lugar de la interfaz de usuario que puede hacer eso por usted.
eyal 11/06/2016
Sé que tengo que usar -std = c ++ 11 o -std = gnu ++ 11 pero ¿cómo puedo configurar eso?
Michael 11/06/2016
Hay varias formas de compilar código nativo de Android Studio, y no veo ninguna mención de cuál está utilizando. Si tiene un archivo Android.mk, puede agregar los indicadores que desee allí a LOCAL_CPPFLAGS . De lo contrario, probablemente necesite utilizar algún tipo de propiedad cppFlags en su archivo build.gradle.

2 Answers


eyal 11/06/2016.

Reconstruí mi proyecto y uso C ++ 11 en lugar de Default de ToolChain en la página Personalizar compatibilidad con C ++. Creo que es una manera sucia para resolver este problema.

1 comments
Alex Cohn 07/30/2017
Tal vez 'ToolChain Default' no sea la manera perfecta de presentar una de las opciones, pero esta es la manera más limpia de lidiar con este problema. C ++ tiene diferentes "modos" no exactamente compatibles, por ejemplo, C ++ 11 y C ++ 13, y es su responsabilidad elegir el dialecto apropiado.

eyal 11/07/2016.

En el build gradle de la aplicación en Android -> defaultConfig puedes agregar / cambiar lo siguiente

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

Related questions

Hot questions

Language

Popular Tags