可能重复:
Disable Eclipse's error discovery. (Codan false positives)
到目前为止,使用GCC 4.8 / Clang 3.3 C ++支持在Eclipse进行语法检查(在功能支持方面)之前,Eclipse将许多事情标记为实际上是有效代码的错误(模板别名恰好是我的主要问题,但也有其他问题。)
当我编译(或尝试无论如何,遇到一些问题,请参阅here以获取更多信息)无论编译器正在做什么工作都能完成它的工作,并且它的错误会传播通过,但它所说的代码好的仍然是强调(分别是错误和警告的红色和金色蜘蛛),这使得查看发生的事情变得更加困难。
有没有办法摆脱这些错误/警告?
更好的方法是只在编译尝试之后才能删除警告,并且只要代码的相关部分不会更改,但仍然会使它们一般都启用。
(实际上最好的是Eclipse的一个插件,它支持所有,或者至少比Juno更多地支持C ++ 11,但我似乎无法找到它)
答案 0 :(得分:19)
更新:自从我发布原始答案后已经很久了,它已经过时了。我今天仔细检查了(2014年3月15日):在Eclipse Kepler(Build id 20130614-0229)中就足够了
在项目>下添加属性> C / C ++ Build>设置然后在工具设置选项卡上 GCC C ++编译器>杂项 -std=c++11
标志,
然后在 Window>下偏好> C / C ++>构建> 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。
可能的解决方法
单击项目属性,然后 C / C ++ General&gt;代码分析&gt;语法和语义错误并取消选择您获得的任何错误错误。缺点:您很可能最终会逐一禁用大部分错误并发出警告,这非常令人讨厌。
在 C / C ++ General&gt;完全禁用静态分析。代码分析&gt;语法和语义错误。你不会从Codan那里得到真正的错误,但只能在编译器中获得。
它们都不是解决方案,但至少你仍然可以使用Eclipse IDE。
击><击> 撞击>
答案 1 :(得分:9)
转到Window-&gt;首选项将分析写入搜索字段,选择C / C ++ - &gt;代码分析,然后就可以关闭所有内容。