如何在没有将警告视为错误的情况下进行编译?

问题是,在 Windows 上编译得很好的代码无法在 Ubuntu上编译。每次我得到这个错误:

Cc1: 作为错误处理的警告

现在,它的代码基础很大,我不喜欢修复所有的警告。

有没有一种方法,我可以成功地编译,尽管警告?

247863 次浏览

当然,找到设置 错了的位置并移除该标志。然后警告将只是警告。

您可以使用 - 没错-错误将所有警告作为这样的警告处理。可以通过使用 -Wno-error=<warning name>对特定的警告进行处理,其中 <warning name>是不希望作为错误处理的警告的名称。

如果您希望完全使用 disable所有警告,请使用 - 什么(不推荐)。


资料来源: Rel = “ nofollow noReferrer”> 3.8请求或抑制警告的选项

谢谢你的建议。我最终确保在我的代码中没有警告,但是又从 SQLite 3得到了这个警告:

当假设(X-c) < = X 始终为真时,假设不发生有符号溢出

我通过加入 CFLAG - 严格-溢出修正了这个问题。

The -Wall and 错了 compiler options can cause it. Please check if those are used in compiler settings.

如果您正在编译 Linux 内核:

For example, if you want to disable the warning that is "unused-but-set-variable" been treated as error. You can add a statement:

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

在你的 Makefile 里。

按照建议的 在这个职位,从 Make 或 CMake 文件中删除 错了

解决方案:

CFLAGS=-Wno-error ./configure