Eclipse 3.7无法在C编辑器中解析类型

我最近从 Eclipse 3.6更改为Eclipse 3.7,我在Ubuntu 11.04中用于C开发.

使用3.6版本,我没有遇到任何大麻烦,除了我总是与索引器有一些问题.
现在使用版本3.7,它开始将未解决的类型标记为错误.由于索引器似乎更不喜欢我,我的Eclipse显然不知道像uint16_t或size_t这样的类型.

与代码编辑器中显示的错误相反,我的编译器在编译代码和解析所有符号和类型方面没有问题,因此这似乎是IDE本身的问题.

有没有办法避免这种行为,因为所有的红色下划线使我的代码越来越难以理解……?

更新:

好的一些研究和丹尼斯的回答我发现我需要添加一些路径
项目属性/ C/C++通用/路径和符号

由于我正在为PowerPC而不是I32目标构建,我不能只添加/usr/include.
相反,我需要添加

的/usr/PowerPC的Linux的GNU / libc中的/ usr /包括

对于所有标准头文件(如stdint.h).
我也需要:

/usr/lib/gcc/powerpc-linux-gnu/4.5.1/include

对于stdarg.h.

现在几乎所有的错误都消失了.仍然困扰我的唯一功能是来自标题stdio.h的printf.我查了一下,头文件本身就在包含的路径中.我仍然得到一个错误,说无法解析函数printf.我想再次注意,这些只是Eclipse显示的错误 – 编译本身工作正常.

所以这实际上引发了3个问题:

>在项目属性中,“路径和符号”部分与“C构建/设置/ C包含”部分中的“包含路径”一致.这意味着在其中一个部分中添加/删除路径会直接影响其他部分的输入.由于C包含直接与编译器一致,我想知道为什么编译器可以编译正确(并找到标题),即使它们不作为路径传递给他?是否有某种标准路径GCC使用,我不知道?
>他为什么不在日食中找到printf?包含头文件stdio.h,它还包含printf的声明 – 那么为什么Eclipse代码编辑器会告诉我它无法解决它?
>为什么头文件划分如此之多?我知道如果我正在构建另一个traget(例如PowerPC),我需要其他头文件 – 但为什么GNU GCC将这些头分开在不同的目录中?

常见类型的红色下划线通常是由于您的包含路径中没有标准库.查看项目的包含…它们位于项目属性中.确保您的C包含一个与您正在使用的编译器的C标准库文件夹匹配的条目.
相关文章
相关标签/搜索