CC1Plus: FOUT: niet-erkende opdrachtregeloptie “-std = C++ 11” met G ++

Ik probeer te compileren met g++en ofwel de -std=c++11of c++0xVLAGS.

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++0xgebruiken, 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++0xin 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

Other episodes