How to compile without warnings being treated as e

2019-01-16 17:54发布

The problem is that the same code that compiles well on Windows, is unable to compile on Ubuntu. Every time I get this error:

cc1: warnings being treated as errors

Now, it's big code base and I don't like fix all the warnings.

Is there any way I can compile successfully in spite of the warnings?

6条回答
Root(大扎)
2楼-- · 2019-01-16 18:02

-Wall and -Werror compiler options can cause it, please check if those are used in compiler settings.

查看更多
3楼-- · 2019-01-16 18:14

Remove -Werror from your Make or CMake files, as suggested in this post

查看更多
不美不萌又怎样
4楼-- · 2019-01-16 18:15

Sure, find where -Werror is set and remove that flag. Then warnings will be only warnings.

查看更多
我欲成王,谁敢阻挡
5楼-- · 2019-01-16 18:15

If you are compiling linux kernel. 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,)

in your Makefile

查看更多
做自己的国王
6楼-- · 2019-01-16 18:25

Thanks for all the helpful suggestions. I finally made sure that there are no warnings in my code, but again was getting this warning from sqlite3:

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

which I fixed by adding the following CFLAG:

-fno-strict-overflow
查看更多
再贱就再见
7楼-- · 2019-01-16 18:26

You can make all warnings being treated as such using -Wno-error. You can make specific warnings being treated as such by using -Wno-error=<warning name> where <warning name> is the name of the warning you don't want treated as an error.

If you want to entirely disable all warnings, use -w (not recommended).


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

查看更多
登录 后发表回答