我刚开始使用Eclipse靛蓝(伽利略推出)和我得到一点红虫子在阴沟里每次使用的size_t的。
该代码在编译时没有问题,但我怀疑我的include目录明确添加的路径。 我已经有一般的犯罪嫌疑人在那里。 我交叉编译了使用GNU工具链的ColdFire处理器所以除了标准的从芯片的MFG包括我有下m68k的精灵包括
\include
\include\c++\4.2.1
\include\c++\4.2.1\include
\include\c++\4.2.1\m68k-elf
更新
我注意到,STDDEF.H存在此工具链的唯一地方是在lib
目录
gcc-m68k\lib\gcc\m68k-elf\4.2.1\include
我补充说路径,父路径\include-fixed
从父,但问题依然存在。
注意在测试
当测试什么可行,什么不,我注意到几件事情
- 代码分析不会被重新触发修改代码分析偏好设置的时候,我还需要做出改变的编辑器(简单地增加一个空间的作品)
- 关闭的代码分析设置
Symbol is not resolved
不会让错误消失。 - 关闭所有的
Syntax and Semantic Errors
,引发了分析,回去和重新打开所有这些,然后关闭Symbol is not resolved
保持错误再次出现。
检查你的索引设置在首选项 - > C / C ++ - >索引。
有一个领域有所谓的“提交到指数的前期”。 它的内容应该是:
cstdarg, stdarg.h, stddef.h, sys/resource.h, ctime, sys/types.h, signal.h, cstdio
如果有别的东西在里面,尝试与上述替换它,然后重建索引,并看看是否能解决这个问题。
(特别是,如果你在这个领域已经是stdarg.h, stddef.h, sys/types.h
,我有一个很好的猜测,哪里出了问题。早在的Eclipse Ganymede,这个字段的值stdarg.h, stddef.h, sys/types.h
。在新版本(Galileo和靛蓝),又改为以上。然而,由于该领域是“首选项”的一部分,如果你的出口木卫三的喜好和进口他们进入伽利略/靛蓝,这个领域与老木卫三值覆盖。我被这在不久前烧毁。)
为了确保获得size_t
你应该#include
头<cstddef>
; 那么,这将是std::size_t
,除非你也投入了using namespace std
或using std::size_t
。
如果你的工具链只能与它的默认编译代码包含路径和符号,只设置Eclipse中使用它们应该是足够的。 转到C/C++ Build -> Discovery Options
在项目属性,并为每种语言,改变Compiler invocation command
从本地编译器(如g++
)你的交叉编译器(如C:\nburn\gcc-m68k\bin\g++
也许?)。 然后在接下来的构建,自动发现将运行和更新所谓的“内置”的路径和符号,在该项目的显示C/C++ General -> Paths and Symbols
来无论你编译报道,你可以再次重新建立索引以确保对旧的“内建”的任何警告都没有了。
达不到这个问题,露出两颗堆栈溢出问题击中了同样的问题搜索后,我想我会提出我如何修复它后,惹恼了我足够的实际调查。
我运行Fedora和烦人,它在/ usr / include中/ Linux的....这实际上是一个空文件STDDEF.H。 所以,即使我在include路径有编译器的STDDEF.H,索引实际上解析这个其他的空文件。 那么什么需要的所作所为是:
你的前缀路径和符号列表与特定的编译器包含路径(在我的情况下,它是/usr/lib/gcc/x86_64-redhat-linux/4.7.2/include/),以避免被解析的其他空STDDEF.H。
其实我有同样的问题。 这个问题似乎是像fquinner的职位描述的一样,坐落在STDDEF.H /usr/include/linux/stddef.h
是空的为好。 奇怪的是,正确的stddef.h
被日食发现,甚至可能没有任何问题地openened。
如果你(反正与另一个构建工具构建时为例)只需要修复的日食索引和我一样,这个索引问题可以围绕通过定义工作__SIZE_TYPE__
到预期的类型,如long unsigned int
下的C/C++ General -> Paths and Symbols
。