CentOS 6.6 x64 を Eclipse Luna と g++ 4.7.2 ( devtoolset-2 で提供) で実行しています。私はEclipseの組み込みの自動Makefile生成を使用しています。
scl enable devtoolset-2 bash を使用して g++ 4.7.2 を有効にしました
[me@dev ~]# g++ --version g++ (GCC) 4.7.2 20121015 (Red Hat 4.7.2-5) Copyright (C) 2012 Free Software Foundation, Inc. これはフリー ソフトウェアです。条件のコピーについてはソースを参照してください。保証はありません。商品性や特定の目的への適合性のためでさえありません。
残念ながら、コンパイル時に、Eclipse は「-std=c++11」は有効なオプションではないというエラーをスローします。プロジェクトのプロパティ>> C / C ++ビルド>>設定>>方言>>「その他の方言フラグ」で値「-std = c ++ 11」で方言を設定しました。
呼び出し: GCC C++ コンパイラの make: *** 未完了のジョブを待機しています.... g++ -std=c++11 .... cc1plus: エラー: 認識されないコマンド ライン オプション "-std=c++11"
「-std=c++0x」で「Language Standard」オプションを使用しようとしましたが、コンパイル時にエラーがスローされます
map<int, MyObject*> myObjectMap;
// assume I've added in objects before the loop
for (const auto& kv : myObjectMap) // line 249
{
// do things
}
249 : エラー: ':' トークンの前に初期化子が必要です