web-dev-qa-db-ja.com

Eclipse CDT「シンボルNULLを解決できませんでした」

EclipseとともにCDTMinGWをインストールしました。すべての環境変数が設定、インクルードなどされます。HelloWorldを実行してみましたが、すべてが正常であるようです。

コンピューターに以前持っていたCプロジェクトをロードしようとしましたが、すべてが正常にロードされるようですが、NULLシンボルで次のエラーが表示されます。

Symbol 'NULL' could not be resolved

洞察はありますか?ありがとう!

26
Alex

NULLは通常stddef.hで定義されています。このファイルは通常、stdlib.hおよびstdio.hにも含まれています。

そして、あなたは常にこれを行うことができます:

#ifndef NULL
#define NULL   ((void *) 0)
#endif
37
Man Vs Code

ボブが述べたように、インデックスを再構築するだけでバグを修正します

  1. あなたのプロジェクトにぴったり
  2. 「インデックス」を選択
  3. 「再構築」を選択します
17
hukeping

私も同じ問題を抱えていました。メイクファイルは正常に動作していましたが、Eclipse CDTビューからあなたのようなエラーが出ていました。

現在のプロジェクトを閉じ、新しい「既存のコードを使用したMakefileプロジェクト」を開き、プロジェクトの適切な場所のソースの場所を指定しました。この後、私はそれをチェックしました:プロジェクトを右クリック/ C++一般/パスとシンボル/ Gnu C++ /インクルードディレクトリは空ではなく、プロジェクトの正しいパスを含みます。

次に、インデックスを再構築しました(右クリック/インデックス/再構築)。

また、Eclipse CDT 8ではなく、Eclipse CDT 7を使用します。CDT8では、メイクファイルは問題なくても、解決できないGUIからのコンパイルエラーが発生することがあるためです。

5
Bob Yoplait
  • 理由は:

NULLはstddef.hで定義されていますが、stddef.hxxx/include/linuxではなくxxx/includeに定義されています

-> MingWのxxx/includeを追加しても、NULLが見つからない

  • 解決策は次のとおりです。

mingWのinclude/linuxパスをプロジェクトに追加します

  • リファラー

(1)xscaleクロスコンパイラのinclude/linuxパスの例:/opt/crosscompile/xscale/gcc-4.6.0-glibc-2.9/arm-xscale-linux-gnueabi/sysroot/usr/include/linux

added GNU C++ include linux path

(2)私の投稿: buntu Eclipse:シンボル「NULL」を解決できませんでした

2
crifan

私はこのようなエラーを修正したばかりで、他に誰もこの解決策を見つけられなかったので投稿したいと思いました。 AVR GCCコンパイラでstdlibがNULLを___need_NULLとして宣言していることがわかりました。これにより、Eclipse IDEでエラーが発生しました。ただし、エラーはCoden Analysisが異常を検出せず、シンボルが見つからなかったために発生したために発生しました。 [全般]-> [起動/シャットダウン]の[設定]でCodenをオフにするか、C/C++コード分析でその動作を変更できます。

これは、他の人が経験している時々ランダムな性質を説明するかもしれません

1
richendes

[〜#〜] null [〜#〜]を定義するヘッダーファイルを追加していないと思います。 stdlib.h(#includeステートメント)を追加します。 NULLマクロを定義します。

1
BrettWatts

また、「シンボルエルフマジックを解決できませんでした」という同様の問題が発生し、エルフヘッダーが既に含まれています。この問題はライブラリキャッシュが原因であると考えられます。ソフトウェアを再起動すると問題を解決できるからです。他の人の助けをありがとう。

0
user6528152

CDTが標準ライブラリのヘッダーの解決に失敗することがあることがわかったので、ここで答えを探していました。バグを再現する理由と方法はまだわかりません。 CDTを再起動するだけですべてが解決します。

0
Adrián Pérez

同じエラーが発生していたので、プロジェクトを右クリックし、インデックスタブにカーソルを合わせて[再構築]をクリックして修正しました。その後、エラーがなくなりました。

0
Cwells

上記の提案のどれも私を助けませんでした。ファイルを開くたびに、exclipseは多数のエラーを報告します。

最後に役立ったのは、すべてのファイルを閉じてからバグを手動で削除し([問題]ウィンドウのエラーリストを右クリックして)、インデックスを再構築することです。

0
humfry

C:\MinWG\libをEclipseのライブラリパスに追加するだけです。

0
Tom Brito