8

私はいくつかのものを実装しなければならない仕事中のCプロジェクトにアクセスできました。それをEclipseにロードすることができましProject -> Build Allた。コンパイルでは、エラーや警告は表示されません。しかし、日食では、多くのエラーが表示されます。一例:


列挙型があります

typedef enum MeasurementType {
    PN, BB, AM, RES
} MEAS_TYPE;
MEAS_TYPE type;

ファイルの1つに。他の場所で使用され、次のようなエラーが発生します。 ここに画像の説明を入力

最も興味深いのは、それが単にAM問題であるように思われることPNですBB


これに対する満足のいく解決策は見つかりませんでした。考えられるすべてのディレクトリを含めようとしましたがProject Properties -> C/C++ General -> Paths and Symbols(この投稿が示唆しているように)、それは役に立ちませんでした。

プロジェクト自体は Makefile でコンパイルされます (これが必要な理由ですProject -> Build All)。Eclipse がこれらの Makefile を正しく解釈していない可能性がありますか? そのようなものを数時間いじり、一歩も前進しなかった後、私は少し迷っています。

編集:ビルド関連のプロジェクト プロパティのスクリーンショットをいくつか示します (少なくとも関連性があると思います:D)。さらに情報が必要な場合は教えてください。

ここに画像の説明を入力 ここに画像の説明を入力

4

4 に答える 4

2

これはかなり古い質問ですが、この短い回答が誰かの役に立てば幸いです。

IDE の列挙型で同様のエラーが発生しましたが、コンパイル時には発生しませんでした。これは、Eclipse の Codan のバグを示しているようです。6 月にリリースされた Eclipse (Neon 4.6) の新しいバージョンにアップグレードした後、エラーは消えました。Eclipse を更新してみてください。

于 2016-07-03T15:31:09.730 に答える
2

moooeeeepさんから提案をいただいたので、ここに解決策を掲載します。彼は私を正しい方向に向けさせてくれた人だったので、私はまだalkの答えを受け入れています。

私の解決策:

AMeclipse (赤で下線が引かれている部分)をクリックしF3て宣言に移動すると、実際にどの宣言に移動するかを尋ねられました。(正しい)列挙型定数と、他の場所からの変数をリストしました。したがって、複数の宣言がAM異なるコードの場所に存在するという問題がありました。

定数の名前を別の名前に変更するだけで、この問題を修正しました(私の場合)。コード内に同じ名前の変数がないため、Eclipse はそれを正しくリファクタリングできました。enumAN

于 2012-11-07T13:49:33.033 に答える
1

この問題に関して、Eclipse CDT Bugzilla に追加されたバグ レポートがあります: https://bugs.eclipse.org/bugs/show_bug.cgi?id=439553

于 2014-07-15T20:50:34.607 に答える
1

Eclipse (gcc ではない) が、間違った、またはおそらく古い (インクルード) ソース ファイルを解析するように設定されているように見えます。

于 2012-11-07T13:37:50.407 に答える