关闭eclipse错误(这不是真正的错误)

时间:2013-01-03 01:34:52

标签: c++ c++11 eclipse-cdt

  

可能重复:
  Disable Eclipse's error discovery. (Codan false positives)

到目前为止,使用GCC 4.8 / Clang 3.3 C ++支持在Eclipse进行语法检查(在功能支持方面)之前,Eclipse将许多事情标记为实际上是有效代码的错误(模板别名恰好是我的主要问题,但也有其他问题。)

当我编译(或尝试无论如何,遇到一些问题,请参阅here以获取更多信息)无论编译器正在做什么工作都能完成它的工作,并且它的错误会传播通过,但它所说的代码好的仍然是强调(分别是错误和警告的红色和金色蜘蛛),这使得查看发生的事情变得更加困难。

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

更好的方法是只在编译尝试之后才能删除警告,并且只要代码的相关部分不会更改,但仍然会使它们一般都启用。

(实际上最好的是Eclipse的一个插件,它支持所有,或者至少比Juno更多地支持C ++ 11,但我似乎无法找到它)

2 个答案:

答案 0 :(得分:19)

更新:自从我发布原始答案后已经很久了,它已经过时了。我今天仔细检查了(2014年3月15日):在Eclipse Kepler(Build id 20130614-0229)中就足够了

  • 项目>下添加属性> C / C ++ Build>设置然后在工具设置选项卡上 GCC C ++编译器>杂项 -std=c++11标志,

  • 然后在 Window&gt;下偏好&gt; C / C ++&gt;构建&gt; Discovery 选项卡上的设置选择了 CDT GCC内置编译器设置,并将-std=c++11标志添加到命令以获取编译器规范< / em>的。在我的机器上,在更改后它看起来像这样:

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

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

这肯定会在我的机器上运行。如果它不在您的机器上,那么您可能想对此进行一次拍摄:C++11 full support on Eclipse虽然我不确定这种方法的正确性也没有必要在我的机器上进行。截至2014年3月7日,用户claim表示它帮助了他们,而上述方法并没有。


原帖,现已过时:

<击>

<击>

这些虚假错误来自Codan。整个过程是因为Codan和编译器对C ++有不同的理解 Codan是buggy

可能的解决方法

  1. 单击项目属性,然后 C / C ++ General&gt;代码分析&gt;语法和语义错误并取消选择您获得的任何错误错误。缺点:您很可能最终会逐一禁用大部分错误并发出警告,这非常令人讨厌。

  2. C / C ++ General&gt;完全禁用静态分析。代码分析&gt;语法和语义错误。你不会从Codan那里得到真正的错误,但只能在编译器中获得。

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

    <击>

答案 1 :(得分:9)

转到Window-&gt;首选项将分析写入搜索字段,选择C / C ++ - &gt;代码分析,然后就可以关闭所有内容。