如何编译没有警告被视为错误?(How to compile without warnings bei

2019-06-26 10:26发布

问题是,在Windows编译以及相同的代码,是无法编译在Ubuntu。 每次我得到这个错误:

cc1: warnings being treated as errors

现在,它的大的代码库,我不喜欢固定所有的警告。

有什么办法,我可以不顾警告编译成功?

Answer 1:

当然,找到其中-Werror设置和删除该标志。 然后,警告将只警告。



Answer 2:

你可以让所有的警告被视为这种使用-Wno-error 。 你可以让特定的警告被视为这种使用-Wno-error=<warning name>其中, <warning name>是您不想视为错误的警告的名称。

如果你想完全禁用所有警告,使用-w (不推荐)。


来源: http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Warning-Options.html



Answer 3:

如果您正在编译Linux内核。 例如,如果你想禁用的警告“未使用,但设定变量”被视为错误。 您可以添加一个语句:

KBUILD_CFLAGS += $(call cc-option,-Wno-error=unused-but-set-variable,)

在Makefile



Answer 4:

删除-Werror从您拨打或CMake的文件中,如建议在这个岗位



Answer 5:

感谢您的所有有用的建议。 我终于确信,有在我的代码没有任何警告,但再次被正从sqlite3的这样的警告:

Assuming signed overflow does not occur when assuming that (X - c) <= X is always true

我固定通过添加以下CFLAG:

-fno-strict-overflow


Answer 6:

-Wall-Werror编译器选项可能会导致它,请检查那些在编译器设置使用。



文章来源: How to compile without warnings being treated as errors?