3

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 : エラー: ':' トークンの前に初期化子が必要です

4

1 に答える 1

3

インストールした で Eclipse を動作させたい場合は、が有効になっdevtoolset-2ている環境から Eclipse を起動する必要があります。devtoolset最も明らかに、これは端末から行うことができます

scl enable devtoolset-2 eclipse &

説明:は、デフォルトではアクティブになっていないdevtoolset代替開発環境としてインストールされます。明示的にアクティブ化された場合にのみ、探していた機能を理解する新しいコンパイラ バージョンを取得できます。-std=c++11

于 2015-06-02T19:07:08.153 に答える