Параметры компилятора AndroidStudio C ++

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

При попытке запустить мой код, который включает файлы C ++, я получаю следующую ошибку:

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 ++.

4 Comments
Asu 11/06/2016
Вы должны включить «параметры компилятора -std = c ++ 11 или -std = gnu ++ 11».
1 Christian Hackl 11/06/2016
Изучение C ++ на Android - очень плохая идея. В любом случае, вы должны каким-то образом заставить вашу IDE передать правильные флаги в компилятор, чтобы использовать возможности C ++ 11 и / или использовать компилятор, для которого C ++ 11 больше не является экспериментальным. Я слышал, что есть некоторая кнопка «Настроить поддержку C ++» или выпадающее меню где-то в пользовательском интерфейсе, который может это сделать для вас.
eyal 11/06/2016
Я знаю, что мне нужно использовать -std = c ++ 11 или -std = gnu ++ 11, но как я могу это настроить?
Michael 11/06/2016
Существует несколько способов создания собственного кода из Android Studio, и я не вижу упоминания о том, какой из них вы используете. Если у вас есть файл Android.mk, вы можете добавить туда любые флаги в LOCAL_CPPFLAGS . В противном случае вам, вероятно, потребуется использовать какое-то свойство cppFlags в файле build.gradle.

2 Answers


eyal 11/06/2016.

Я перестроил свой проект и использовал C ++ 11 вместо Default ToolChain в настройке на странице поддержки C ++. Я думаю, что это грязный способ решить эту проблему.

1 comments
Alex Cohn 07/30/2017
Возможно, 'ToolChain Default' - не идеальный способ представить один из вариантов, но это чистый способ справиться с этой проблемой. C ++ имеет разные несовместимые «режимы», например C ++ 11 и C ++ 13, и вы несете ответственность за выбор соответствующего диалекта.

eyal 11/07/2016.

В графе построения приложения под андроидом -> defaultConfig вы можете добавить / изменить следующее

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

Related questions

Hot questions

Language

Popular Tags