J'essaie de compiler en utilisant g++
et les indicateurs -std=c++11
ou c++0x
.
Cependant, j'obtiens cette erreur
cc1plus: error: unrecognized command line option "-std=c++11"
g ++ --version
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.
En voyant votre version de G ++, vous devez la mettre à jour de manière incorrecte. C++ 11 n'est disponible que depuis G ++ 4.3. La version la plus récente est la 4.7.
Dans les versions antérieures à G ++ 4.7, vous devrez utiliser -std=c++0x
, pour les versions plus récentes, vous pouvez utiliser -std=c++11
.
Citant le site web gcc :
Les fonctionnalités C++ 11 sont disponibles dans le compilateur GCC "principal" dans le coffre du référentiel Subversion de GCC et dans GCC 4.3 et versions ultérieures. Pour activer la prise en charge de C++ 0x, ajoutez le paramètre de ligne de commande -std = c ++ 0x à votre ligne de commande g ++. Ou, pour activer les extensions GNU en plus des extensions C++ 0x, ajoutez -std = gnu ++ 0x à votre ligne de commande g ++. GCC 4.7 et versions ultérieures supportent également -std = c ++ 11 et -std = gnu ++ 11.
Donc, vous utilisez probablement une version de g ++ qui ne supporte pas -std=c++11
. Essayez -std=c++0x
à la place.
La disponibilité des fonctionnalités C++ 11 concerne uniquement les versions> = 4.3.
tu devrais essayer ça
g++-4.4 -std=c++0x or g++-4.7 -std=c++0x