22

可能重复:
禁用 Eclipse 的错误发现。(科丹误报)

由于 GCC 4.8/Clang 3.3 C++ 支持远远领先于 Eclipse 在语法检查方面所做的工作(在功能支持方面),Eclipse 将许多事情标记为实际上是有效代码的错误(模板别名恰好是我的主要问题,但是还有其他问题)。

当我编译(或尝试编译时,遇到一些问题,请参阅此处了解更多信息)时,任何编译器恰好正在执行它的工作,并且它的错误会通过它传播,但它说好的代码仍然是下划线(红色和金蜘蛛分别用于错误和警告),这使得更难看到发生了什么。

有没有办法摆脱这些错误/警告?

更好的方法是仅在编译尝试后消除警告,只要代码的相关部分不更改,但通常仍保持启用状态。

(实际上最好的 Eclipse 插件支持所有,或者至少比 Juno 本身支持更多的 C++11,但我似乎找不到)

4

2 回答 2

20

更新: 自从我发布原始答案以来已经很长时间了,它已经过时了。我今天(2014 年 3 月 15 日)仔细检查了:在 Eclipse Kepler(内部版本号 20130614-0229)中,足以

  • Project > Properties > C/C++ Build > Settings下添加,然后在Tool Settings选项卡 上添加GCC C++ Compiler > Miscellaneous-std=c++11标志,

  • 然后在Discovery选项卡上的Window > Preferences > C/C++ > Build > Settings下选择CDT GCC Built-in Compiler Settings并将标志添加到Command 以获取编译器规格。在我的机器上,更改后它看起来像这样: -std=c++11

    ${COMMAND} -E -P -v -dD -std=c++11 "${INPUTS}"

  • 清理并重建您的项目索引(Project > C/C++ Index > Rebuild),因为 Eclipse 倾向于缓存错误消息并显示它们,即使它们在更改设置后消失了。

这肯定适用于我的机器。如果它不在你的身上,那么你可能想试一试:C++11 full support on Eclipse虽然我不确定这种方法的正确性,也没有必要在我的机器上这样做。截至 2014 年 3 月 7 日,用户声称它对他们有帮助,而上述方法没有。


原来的帖子,现在已经过时了:

这些虚假错误来自Codan。整件事是因为 Codan 和编译器对 C++ 的理解不同,Codan 是错误的。

可能的解决方法

  1. 单击项目属性,然后单击C/C++ General > Code Analysis > Syntax and Semantic Errors并取消选择您遇到的任何错误错误。缺点:你很可能最终会一一禁用大部分错误和警告,这很烦人。

  2. 在C/C++ General > Code Analysis > Syntax and Semantic Errors处完全禁用静态分析。您不会从 Codan 获得真正的错误,而只会在稍后从编译器中获得。

它们都不是解决方案,但至少您仍然可以使用 Eclipse IDE。

于 2013-01-03T08:18:30.663 回答
9

转到 Window->Preferences 将分析写入搜索字段选择 C/C++->Code Analysis ,您可以在此处关闭所有内容。

于 2013-01-03T06:39:54.880 回答