5 votes

-std=c++11 non reconnu sur gcc 4.8.1

Je viens de suivre une réponse à ce question pour mettre à jour ma version de gcc à 4.8. 1 sur Ubuntu 12.04, dont je pensais qu'elle supporterait C++11, mais ce n'est pas le cas.

Lorsque j'essaie de compiler quelque chose avec -std=c++11 flag, j'obtiens cette erreur :

cc1plus: error: unrecognized command line option ‘-std=c++11’

Ma version de gcc est la suivante :

gcc version 4.8.1 (Ubuntu 4.8.1-2ubuntu1~12.04)

Ma version de g++ est la suivante :

$ g++ -v
  ....
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)

Qu'est-ce que je pourrais manquer ?

Edit : J'avais oublié que je devais mettre à jour g++.

Il est facile de le faire en modifiant légèrement le code fourni dans la réponse mentionnée ci-dessus. Il suffit de modifier gcc a g++ .

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install g++-4.8
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50

5voto

lak-b Points 764

Vous avez mis à jour le compilateur C, mais pas le compilateur C++. Il s'agit de paquets binaires distincts. Vous devez également installer le g++-4.8 pour obtenir la nouvelle version du compilateur C++.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X