Ik probeer te compileren met g++
en ofwel de -std=c++11
of c++0x
VLAGS.
Ik krijg echter deze foutmelding
cc1plus: error: unrecognized command line option "-std=c++11"
G ++ – Versie
g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Antwoord 1, Autoriteit 100%
Zie uit uw G ++ -versie, u moet het slecht bijwerken. C++ 11 is alleen beschikbaar sinds G ++ 4.3. De meest recente versie is 4.7.
In Versies Pre-G ++ 4.7 moet u -std=c++0x
gebruiken, voor meer recente versies die u kunt gebruiken -std=c++11
.
Antwoord 2, Autoriteit 13%
citeren uit de GCC-website :
C++ 11 functies zijn beschikbaar als onderdeel van de “hoofdlijn” GCC-compiler in de kofferbak van de Subversion-repository van GCC en in GCC 4.3 en hoger. Om C++ 0x-ondersteuning in te schakelen, voegt u de opdrachtregelparameter toe – STD = C++ 0X aan uw G ++ -opdrachtregel. Of, om GNU-extensies in te schakelen naast C++ 0x-extensies, voegt u – STD = GNU ++ 0x toe aan uw G ++ -opdrachtregel. GCC 4.7 en later ondersteunen – STD = C++ 11 en -STD = GNU ++ 11 ook.
Gebruik waarschijnlijk een versie van G ++ die niet ondersteunt -std=c++11
. Probeer -std=c++0x
in plaats daarvan.
Beschikbaarheid van C++ 11-functies is voor versies & GT; = 4.3 alleen.
Antwoord 3, Autoriteit 3%
je zou dit moeten proberen
g++-4.4 -std=c++0x or g++-4.7 -std=c++0x
Antwoord 4
Ik kreeg ook dezelfde fout, compileren met -D-vlag loste het op. Probeer dit:
g++ -Dstd=c++11