
https://stackoverflow.com/questions/9131763/eclipse-cdt-c11-c0x-support
私はそのウェブサイトから来ました。
g++-4.8 で問題なくコンパイルできる C++ プロジェクトがあります。cstdint ファイルの std::int8_t を使用したいだけです。
問題は、Eclipse インデクサーが名前を解決できないことです。
csdint ファイルに移動したところ、最初のマクロで __cplusplus が 201103L ではなく 199711L に展開されていました。
プロジェクト設定でstd=c++11を追加し、コンパイラフラグで追加しましたGXX_実験的_CXX0X
コンパイルできると言いましたか?
非常にイライラします。インデクサーがなくても生きていけると思いますが、エラーの誤検出が発生する場合、IDE の目的は何でしょうか。
答え1
ここで答えを見つけました:http://www.eclipse.org/forums/index.php/t/490066/
プロジェクトプロパティ->パスとシンボル->シンボルタブ->GNU C++->__cplusplusシンボルに移動し、201103Lに変更します。
答え2
使用しているC++プロジェクトの種類とEclipseのバージョンによって異なります。私はEclipse Mars.2 (4.5) にCDT 8.8.1.201602051005をインストールしたMakefileプロジェクトを持っています。Makefileプロジェクトがあり、プロジェクトプロパティに項目C/C++ General
--> が表示されている場合は、「検出オプション」タブC/C++ Make Projects
に移動して、-std=c++11
コンパイラ呼び出し引数。