2016-11-06 7 views
0

При попытке запустить свой код, который включает C++ файлы, которые я получаю следующее сообщение об ошибке -AndroidStudio 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++.

+0

Вы должны включить "-std = C++ 11 или -std = Gnu ++ 11 опций компилятора." – Asu

+1

Изучение C++ на Android - очень плохая идея. В любом случае, вы должны каким-то образом заставить вашу IDE передать правильные флаги в компилятор, чтобы использовать возможности C++ 11 и/или использовать компилятор, для которого C++ 11 больше не является экспериментальным. Я слышал, что есть некоторая кнопка «Настроить поддержку C++» или выпадающее меню где-то в пользовательском интерфейсе, который может это сделать для вас. –

+0

Я знаю, что мне нужно использовать -std = C++ 11 или -std = gnu ++ 11, но как я могу это настроить? – eyal

ответ

0

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

+0

Может быть * 'ToolChain Default' * не является идеальным способом представить один из вариантов, но это чистый способ справиться с этой проблемой. C++ имеет разные несовместимые «режимы», например. C++ 11 и C++ 13, и вы несете ответственность за выбор соответствующего диалекта. –

0

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

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