23

ubuntu 12.04 を使用しており、デフォルトの gcc は 4.6.3 です。c++11 コマンドを受け入れず、コマンドが c++98 と互換性がないという出力が表示されます。オンラインでチェックしたところ、オペレーティング システムのデフォルト コンパイラが不安定になるため、変更しないようにアドバイスしている人々を見かけました。C ++ 11準拠のgccコンパイラをダウンロードするための修正または安全な方法を誰かが提案できますか.

4

2 に答える 2

27

他の人が示唆しているように、std コマンドライン オプションを入力する必要があります。簡単にしましょう

  1. Ctrl+ Alt+を押してターミナルを開くT
  2. sudo gedit ~/.bashrc
  3. 次の行を最後の行として入力します

    alias g++="g++ --std=c++0x"
    
  4. ファイルを保存して閉じ、ターミナルを閉じます。
  5. ターミナルを再度開き、C++ 11 プログラムを次のようにコンパイルします。g++ filename.cpp

それでおしまい。デフォルトでは、C++11 標準用にコンパイルされます。

注:上記のオプションに従う場合、非 c++ 11 プログラムをコンパイルするには、次を使用する必要があります。

g++ --std=c++98 filename.cpp
于 2013-06-29T10:19:26.403 に答える
22

gcc 4.6.3は、多くの c++11 機能をサポートしています。ただし、デフォルトでは無効になっています。それらを有効にするには、次のフラグを使用します。

g++ -std=c++0x ...

このフラグは GNU 拡張も無効にします。それらを有効に保つには、-std=gnu++0xフラグを使用します。

于 2013-06-29T10:02:00.373 に答える