问题是,在 Windows 上编译得很好的代码无法在 Ubuntu上编译。每次我得到这个错误:
Cc1: 作为错误处理的警告
现在,它的代码基础很大,我不喜欢修复所有的警告。
有没有一种方法,我可以成功地编译,尽管警告?
当然,找到设置 错了的位置并移除该标志。然后警告将只是警告。
您可以使用 - 没错-错误将所有警告作为这样的警告处理。可以通过使用 -Wno-error=<warning name>对特定的警告进行处理,其中 <warning name>是不希望作为错误处理的警告的名称。
-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