web-dev-qa-db-ja.com

g ++でC ++ 11を使用するにはどうすればよいですか?

現在、すべてのコードをgeditで入力し、ターミナルを使用してプログラムをコンパイルしています。そうするために、私は入力しています:

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

そして、これは機能しています。ただし、C++ 11は使用していません。 C++のバージョンを確認し、C++ 11を使用してターミナル経由でコンパイルするにはどうすればよいですか?

21
user529161

これは、-std=c++11フラグを使用して実行できます。以下に例を示します。

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

このモードは、-std=c++11コマンドラインフラグ、またはGNU拡張機能を有効にする-std=gnu++11を使用して選択できます。( source

以下の他のフラグの説明を参照してください。少なくともこれらのエラーフラグを使用すると、長期的にはあなたの人生が楽になると深く信じています。スクリプトが何をするのかをよく理解したら、結果を得るために必要な場合は警告を省略できますが、それは標準ではありません。これがお役に立てば幸いです。 ここが良い場所です 読み始めます。

  • -Wall —すべての主要な警告を有効にします。
  • -Wextra —他の重要な警告を有効にします。
  • -Werror —すべての警告をエラーにします警告が報告された場合、コンパイルを失敗させます

ソース:

  1. GCC:オプションの概要
  2. GCC:警告を要求または抑制するオプション
54
Videonauth