web-dev-qa-db-fra.com

Comment utiliser C ++ 11 avec g ++?

Je suis en train de taper tout mon code dans gedit et d’utiliser le terminal pour compiler mes programmes. Pour ce faire, je tape:

$ g++ main.cpp -o main
$ ./main

Et ça marche. Cependant, il n'utilise pas C++ 11. Comment puis-je vérifier ma version de C++ et également compiler via un terminal en utilisant C++ 11?

20
user529161

Vous pouvez le faire en utilisant le drapeau -std=c++11. Voici un exemple:

g++ -std=c++11 -Wall -Wextra -Werror main.cpp -o main

Ce mode peut être sélectionné avec l'indicateur de ligne de commande -std=c++11 ou -std=gnu++11 pour activer également les extensions GNU. ( source )

Voir l'explication des autres drapeaux ci-dessous. Je crois profondément que l'utilisation d'au moins ces indicateurs d'erreur vous facilitera la vie à long terme. Une fois que vous avez une meilleure connaissance de ce que fait votre script, vous pouvez omettre les avertissements si nécessaire pour obtenir un résultat, mais cela ne devrait pas être la norme. J'espère que cela vous aide. Voici un bon endroit pour commencer à lire.

  • -Wall - active tous les avertissements majeurs.
  • -Wextra - active d'autres avertissements importants.
  • -Werror - transforme tous les avertissements en erreurs , entraînant l'échec des compilations si des avertissements sont signalés.

Sources:

  1. GCC: Résumé des options
  2. GCC: Options pour demander ou supprimer des avertissements
53
Videonauth