Eclipse CDT“Symbol NULL无法parsing”

我只是用MinGW安装Eclipse CDT 。 所有的环境variables设置,包括等尝试运行hello世界,一切似乎都很好。

我尝试加载我以前在我的电脑中的C项目,似乎加载一切正常,但我得到以下错误与NULL符号:

 Symbol 'NULL' could not be resolved 

任何见解? 谢谢!

Solutions Collecting From Web of "Eclipse CDT“Symbol NULL无法parsing”"

NULL通常在stddef.h中定义。 这个文件通常也包含在stdlib.h和stdio.h中。

而且,你可以一直这样做:

 #ifndef NULL #define NULL ((void *) 0) #endif 

正如鲍勃所说,我修复了错误,只是通过重建索引

  1. 正确的项目
  2. 选择“索引”
  3. 选择“重建”

我有同样的问题:我的生成文件运行良好,但我从Eclipse的CDT视图得到像你的错误。

我关闭了当前的项目,我打开了一个新的“使用现有代码的Makefile项目”,指定了我的项目的正确的位置源位置。 在这之后,我检查了:右键项目/ C ++ general / Paths and symbols / Gnu C ++ / include目录不是空的,并包含我的项目的正确路径。

然后,我重建索引(右键单击/索引/重建)。

另外,我使用Eclipse CDT 7而不是Eclipse CDT 8,因为CDT8有时会给我编译GUI的错误,尽管makefile没有问题。

  • 原因是:

NULL在stddef.h定义,但stddef.hxxx/include/linux不是xxx/include

– >即使你添加了MingW的xxx/include ,仍然无法找到NULL

  • 解决方案是:

将MingW的include/linux路径添加到您的项目中

  • 引荐

(1)我的xscale /opt/crosscompile/xscale/gcc-4.6.0-glibc-2.9/arm-xscale-linux-gnueabi/sysroot/usr/include/linuxinclude/linux路径的示例是: /opt/crosscompile/xscale/gcc-4.6.0-glibc-2.9/arm-xscale-linux-gnueabi/sysroot/usr/include/linux

增加了GNU C ++包括linux路径

(2)我的帖子: Ubuntu的Eclipse:符号“NULL”无法解析

我只是修正了这样一个错误,并认为没有其他人发现这个解决方案,我会张贴它。 我发现stdlib在我的AVR GCC编译器中声明了NULL作为___need_NULL。 这在Eclipse IDE中导致了一个错误。 然而,错误是由Coden Analysis引起的,没有发现异常,所以不能找到符号。 您可以在“常规 – >启动/关闭”下的“首选项”中关闭“编码”或更改其在C / C ++代码分析中的行为。

这可能解释其他人正在经历的随机性

我认为你没有添加定义NULL的头文件。 添加stdlib.h(#include语句)。 它定义了NULL宏。

我在这里寻找答案,因为我发现CDT有时无法解析标准库的头文件。 我仍然不知道为什么以及如何重现错误。 只需重新启动CDT,一切都解决了。

我有同样的错误,我通过右键单击您的项目,将鼠标悬停在索引选项卡上,然后单击重建。 之后我的错误消失了。

只需将C:\MinWG\lib添加到Eclipse的库路径中即可。

我也遇到类似的问题,就是“符号精灵魔法无法解决”,而精灵头文件已经包含在内了。 我认为这个问题可能是由库缓存引起的,因为重启软件可以解决问题。 感谢别人的帮助。