【问题标题】:Eclipse CDT with MinGW displays warnings as errors带有 MinGW 的 Eclipse CDT 将警告显示为错误
【发布时间】:2013-04-28 23:39:51
【问题描述】:

我有一个小问题。

我刚刚安装了 Eclipse CDT 并使用 MinGW 创建了一个 C 项目,我所有的简单警告(如“未使用的变量”等)都显示为错误。

程序构建良好,我可以运行它,但是所有这些错误都很烦人。

我已经检查了编译器设置,并且未选中“错误警告 (-Werror)”。

我该怎么办?

【问题讨论】:

    标签: eclipse mingw warnings eclipse-cdt


    【解决方案1】:

    在我的例子中,问题是因为编译器/构建器的消息与 Eclipse 使用的语言不同。

    因此,Eclipse 无法将它们识别为Warnings,而是认为它们是Errors

    我通过创建一个环境变量来将编译器设置为正确的语言来解决,
    Thanks to this question

    由于消息以正确的语言发送,Eclipse 将标记更改为警告并编译时没有任何错误消息。

    【讨论】:

      【解决方案2】:

      如果检查-Werror,则构建将失败。顺便说一句,您绝对应该检查它,以便它强制您从一开始就处理所有警告。

      您可以使用 GCC (MinGW) 的特殊选项抑制一些警告(但不是全部)。您可以在警告本身的末尾看到需要哪些选项来抑制这个或那个警告。

      尽管如此,我强烈建议不要这样做。最好从一开始就解决所有警告。努力设计您的项目,使其能够使用-pedantic -Wall -Wextra -Werror 选项构建。这种方法有 3 个主要好处:

      • 您的代码几乎是无懈可击的;
      • 您的代码将非常符合标准;
      • 您的代码在不同编译器之间的可移植性更高 (因为其中一些默认情况下倾向于将某些警告视为错误)。

      记住,留下恼人的警告泛滥是一个坏习惯,你一定要从一开始就改掉它。

      【讨论】:

      • 它并没有真正回答我的问题,但我会接受,我总是关心所有警告。但只是在某些情况下,我在不使用变量的情况下测试我的程序(当我评论一段代码或其他东西时),它不会使用 -Werror 构建,这很烦人。无论如何,谢谢你的回答。
      • 它准确地回答了你的问题,特别是如何关闭警告。
      • 也许我不清楚,但我的问题不是要打开警告,而是为什么 eclipse 或 MinGW 将警告显示为错误。
      • 如果它将警告显示为错误,那么您的代码将永远无法编译。但是,您声称“程序构建良好,我可以运行它”。所以你肯定不清楚。
      • 实际上在 Eclipse 的“问题”窗口中,它写着 3 errors, 0 warnings,并写着像 variable set but not usedunused variable 这样的东西,旁边有一个红色圆圈。这些应该是警告,不是吗?
      猜你喜欢
      • 2018-03-21
      • 1970-01-01
      • 2013-11-19
      • 2011-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多