Eclipse CDT显示语义错误,但编译是可以的

fas*_*ked 30 eclipse gcc eclipse-cdt

我在Ubuntu 10.04 x86上为C/C++ Linux开发人员安装了Eclipse Indigo.

当我使用常见的预定义宏__BASE_FILE__Eclipse说Symbol '__BASE_FILE__' could not be resolved,但编译是可以的.我必须经常在我的代码中使用它,Eclipse用红线和bug图标填充我的屏幕:)

我怎样才能解决这个问题?

小智 23

不确定这是否解决了您的具体问题,但我也有语义错误.在完成一个有效的项目后,他们才刚刚出现.

无论如何,我通过设置:"为索引器构建配置:使用活动构建配置"在工作区设置中使用单个选项修复它

另一个选项是"使用项目索引器设置中指定的构建配置",这是一个无效的.我认为它可能在日食崩溃后被破坏了.

  • @ ahmed_khan_89窗口 - >首选项 - > C/C++ - > Indexer (4认同)
  • 似乎是静态分析器的bug,而不是索引器.无论如何它不适合我.谢谢你的努力. (2认同)

Win*_*der 20

窗口 - >首选项 - > C/C++ - >代码分析 - >语法和语义错误:关闭

这不能解决问题的原因,但至少会阻止显示错误错误.

  • 我差点回答你的答案,因为它不是正确的解决方案,但在尝试之后,你的是最好的解决方案.我通过调用boost和quince函数报告了很多错误,这些错误让我发疯到我必须关闭Eclipse错误分析功能. (2认同)
  • 我对你的回答投了反对票,但如果在此之后,自动完成功能有效,我会投赞成票。多年之后,这个问题仍然困扰着我,每次都需要很长时间才能使它工作,通过执行随机清理、构建、关闭项目、构建索引、新文件等 (2认同)

小智 6

最简单的解决方案是重置索引器:

窗口/首选项/ C/C++/Indexer.
取消选中"启用索引器" - >>确定
重建全部,可能会显示大量错误
选中"启用索引器" - >>确定
重建全部

这种错误可以通过电源故障强制关闭日食来产生.

  • 这工作了。但是下一次我将尝试在rt上单击项目,索引,重建。 (2认同)

小智 5

您需要重建项目的索引。

右键单击项目,然后索引->重建。


小智 5

删除.metadata文件夹,然后导入项目.

这样就可以了!


ond*_*sko 3

更新:您必须将正确的路径添加到“项目”->“属性”->“C/C++ 常规”->“路径和符号”。如果没有帮助,您可以在“项目”->“属性”->“C/C++ 常规”->“代码分析”中配置 Eclipse 代码分析器(它会生成“错误”)。在您遇到问题的错误描述下,尝试“自定义所选”->“范围”->“排除模式”。