Eclipse CDTで変数や関数が赤バツになってしまう場合の対処方法(C++11対応も)

    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