1. ホーム
  2. c++

[解決済み] Eclipse CDT: シンボル 'cout' が解決されませんでした。

2022-01-30 13:52:33

質問

上記のようなエラーが発生します。eclipseプロジェクトに必要なファイルはすべてインクルードしています。

/usr/include/c++/4.6
/usr/include
/usr/include/linux
/usr/local/include

などです。

試しに std::coutusing namespace std; cout が、まだ未解決と表示されます。

をインポートしました。 iostreamcstdlib .

また、Ubuntu 12.04でeclipse 3.7.2を使っています。

コードスニペットです。

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include "XPLMDisplay.h"
#include "XPLMGraphics.h"

int XPluginStart(char * outName,  char * outSig,  char * outDesc) {
    /* ... */
    std::cout << "test" << std::endl;
    /* ... */
}

名前空間stdを使用しています。


UPDATE: 私は既存のコードからeclipseプロジェクトを作成していました。新しいc++プロジェクトを作成すると直りました。私は、既存のプロジェクトのどのような設定がこれを引き起こす可能性があるのかを説明する回答を受け付けます(そうすれば、私はすべてのプロジェクトをカット&amp;ペーストする必要はありません)。

解決方法を教えてください。

おそらく、システム固有のインクルードディレクトリが設定に含まれていないため、インデクサがiostreamを正しくパースできず、エラーが発生するのでしょう。そのため Index -> Search For Unresolved Includes をクリックすると、未解決のインクルードファイルのリストが表示されます。 /usr/include を作成し、それを含むディレクトリを C++ Include Paths and Symbols をプロジェクトプロパティに追加します。

私のシステム上では /usr/include/c++/4.6/x86_64-linux-gnu に対して bits/c++config.h を解決し、さらにいくつかのディレクトリを解決する必要があります。

インクルードディレクトリを追加した後は、インデックスの再構築(Index -> Rebuild)を忘れないようにしてください。