【发布时间】:2013-04-28 23:39:51
【问题描述】:
我有一个小问题。
我刚刚安装了 Eclipse CDT 并使用 MinGW 创建了一个 C 项目,我所有的简单警告(如“未使用的变量”等)都显示为错误。
程序构建良好,我可以运行它,但是所有这些错误都很烦人。
我已经检查了编译器设置,并且未选中“错误警告 (-Werror)”。
我该怎么办?
【问题讨论】:
标签: eclipse mingw warnings eclipse-cdt
我有一个小问题。
我刚刚安装了 Eclipse CDT 并使用 MinGW 创建了一个 C 项目,我所有的简单警告(如“未使用的变量”等)都显示为错误。
程序构建良好,我可以运行它,但是所有这些错误都很烦人。
我已经检查了编译器设置,并且未选中“错误警告 (-Werror)”。
我该怎么办?
【问题讨论】:
标签: eclipse mingw warnings eclipse-cdt
在我的例子中,问题是因为编译器/构建器的消息与 Eclipse 使用的语言不同。
因此,Eclipse 无法将它们识别为Warnings,而是认为它们是Errors。
我通过创建一个环境变量来将编译器设置为正确的语言来解决,
Thanks to this question
由于消息以正确的语言发送,Eclipse 将标记更改为警告并编译时没有任何错误消息。
【讨论】:
如果检查-Werror,则构建将失败。顺便说一句,您绝对应该检查它,以便它强制您从一开始就处理所有警告。
您可以使用 GCC (MinGW) 的特殊选项抑制一些警告(但不是全部)。您可以在警告本身的末尾看到需要哪些选项来抑制这个或那个警告。
尽管如此,我强烈建议不要这样做。最好从一开始就解决所有警告。努力设计您的项目,使其能够使用-pedantic -Wall -Wextra -Werror 选项构建。这种方法有 3 个主要好处:
记住,留下恼人的警告泛滥是一个坏习惯,你一定要从一开始就改掉它。
【讨论】:
3 errors, 0 warnings,并写着像 variable set but not used 或 unused variable 这样的东西,旁边有一个红色圆圈。这些应该是警告,不是吗?