1

是否可以“告诉”编译器,如果警告总数(在编译 C++ 程序时)超过 10 个,则停止进一步编译并发出错误?或者是否可以破解像 clang 这样的编译器来提供此功能。

4

3 回答 3

3

GCC 有两个选项可以一起实现这一点,来自gnu 在线文档

-Werror
将所有警告变成错误。

-fmax-errors=n 将错误消息的最大数量限制为 n,此时 GCC 会退出而不是尝试继续处理源代码。

但是,这会使带有任何警告的构建失败,这些选项只是定义何时停止解析。

于 2013-04-26T20:44:06.567 回答
2

我还没有在 gcc 或 clang 中看到过这种功能。您当然可以尝试将其修补到其中的任何一个中,两者都是开源的。还有-Werror(两个编译器都接受)只是将警告视为错误。

于 2013-04-26T20:42:20.117 回答
2

如何使用-Werror将警告变为错误并 -fmax-errors=n设置限制。(另外,也许让你的代码完全没有警告会是一件好事)。

于 2013-04-26T20:42:31.377 回答