Options du compilateur AndroidStudio C ++

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

En essayant d'exécuter mon code, ce qui inclut les fichiers C ++, j'obtiens l'erreur suivante -

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. 

Comment cela peut-il être résolu? C'est mon premier projet impliqué dans les fichiers C ++.

4 Comments
Asu 11/06/2016
Vous devez activer "les options du compilateur -std = c ++ 11 ou -std = gnu ++ 11".
1 Christian Hackl 11/06/2016
L'apprentissage C ++ sur Android est une très mauvaise idée. Quoi qu'il en soit, vous devez faire en sorte que votre IDE passe les bons indicateurs au compilateur afin d'utiliser les fonctionnalités C ++ 11 et / ou utiliser un compilateur pour lequel C ++ 11 n'est plus expérimental. J'ai entendu dire qu'il y a un bouton "Personnaliser le support C ++" ou un menu déroulant quelque part dans l'interface utilisateur qui peut le faire pour vous.
eyal 11/06/2016
Je sais que je dois utiliser -std = c ++ 11 ou -std = gnu ++ 11 mais comment puis-je le configurer?
Michael 11/06/2016
Il existe plusieurs façons de créer du code natif à partir d'Android Studio, et je ne vois aucune mention de celle que vous utilisez. Si vous avez un fichier Android.mk, vous pouvez ajouter les indicateurs que vous voulez dans LOCAL_CPPFLAGS . Sinon, vous devrez probablement utiliser une sorte de propriété cppFlags dans votre fichier build.gradle.

2 Answers


eyal 11/06/2016.

J'ai reconstruit mon projet et utilise C ++ 11 au lieu de ToolChain Default dans Personnaliser la page de support C ++. Je pense que c'est un sale moyen de résoudre ce problème.

1 comments
Alex Cohn 07/30/2017
Peut-être que 'ToolChain Default' n'est pas le moyen idéal pour présenter l'un des choix, mais c'est la façon la plus simple de gérer ce problème. C ++ a différents 'modes' non compatibles, par exemple C ++ 11 et C ++ 13, et il est de votre responsabilité de choisir le dialecte approprié.

eyal 11/07/2016.

Dans le build gradle de l'application sous android -> defaultConfig vous pouvez ajouter / modifier les éléments suivants

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

Related questions

Hot questions

Language

Popular Tags