Eclipse CDTで変数や関数が赤バツになってしまう場合の対処方法
Eclipseに外部のソースをインポートすると、赤バツがたくさんでることがある。また、C++11対応のソースが赤バツになることがある。
これは、CDTのインデックス機能がインデックスをするときに、ファイルパスの場所やプリプロセッサの定義値を知らないから。
パスおよびシンボルを設定
こんなときは、プロジェクトを右クリックしてプロパティを選択。
- C/C++一般 -> パスおよびシンボル
ここでMakefileに書くような情報(インクルードパスやdefine値)を設定することで、赤バツが消える。たとえば、
- インクルードパスを追加する場合にはインクルードを選択。
- define値を追加するときにはシンポルを選択。
Eclipse CDTで C++11のソースを赤バツにしない方法
すでにEclipseの設定でdefine値が設定してあると、自分の値が反映されないことがある。C++11などはまさにそうだった。この場合は、
- C/C++一般 -> Prosessor Include, Macro..->エントリ -> CDT User Setting Entrys
であたいを追加する。
__cplusplus = 201103L