AndroidStudio C ++ Compiler-opties

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

Tijdens het uitvoeren van mijn code, die C ++ -bestanden bevat, krijg ik de volgende foutmelding:

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. 

Hoe het kan worden opgelost? Dit is mijn eerste project dat betrekking heeft op C ++ -bestanden.

4 Comments
Asu 11/06/2016
U moet "de -std = c ++ 11 of -std = gnu ++ 11 compiler-opties inschakelen."
1 Christian Hackl 11/06/2016
C ++ leren op Android is een heel slecht idee. Hoe dan ook, je moet op de een of andere manier je IDE de juiste vlaggen laten doorgeven aan de compiler om C ++ 11-functies te gebruiken en / of een compiler te gebruiken waarvoor C ++ 11 niet langer experimenteel is. Ik hoor dat er ergens in de gebruikersinterface een knop 'Customize C ++ Support' of een dropdown-menu is die dit voor u kan doen.
eyal 11/06/2016
Ik weet dat ik -std = c ++ 11 of -std = gnu ++ 11 moet gebruiken, maar hoe kan ik dat configureren?
Michael 11/06/2016
Er zijn meerdere manieren om native code te bouwen van Android Studio en ik zie geen enkele vermelding van welke je gebruikt. Als je een Android.mk-bestand hebt, kun je alle gewenste vlaggen toevoegen aan LOCAL_CPPFLAGS . Anders moet u waarschijnlijk een soort van de eigenschap cppFlags in uw build.gradle-bestand.

2 Answers


eyal 11/06/2016.

Ik heb mijn project opnieuw opgebouwd en gebruik C ++ 11 in plaats van ToolChain Default op de pagina Customize C ++ Support. Ik denk dat het een vuile manier is om dit probleem op te lossen.

1 comments
Alex Cohn 07/30/2017
Misschien is 'ToolChain Default' niet de perfecte manier om een ​​van de keuzes te presenteren, maar dit is de schone manier om met dit probleem om te gaan. C ++ heeft verschillende niet exact compatibele 'modi', bijvoorbeeld C ++ 11 en C ++ 13, en het is jouw verantwoordelijkheid om het juiste dialect te kiezen.

eyal 11/07/2016.

In app's build gradle onder android -> defaultConfig kun je het volgende toevoegen / wijzigen

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

Related questions

Hot questions

Language

Popular Tags