使用Makefile交叉编译内核。如何抑制-Wunused-but-set-variable警告

时间:2011-10-31 07:01:11

标签: gcc compilation makefile

我正在尝试使用Ubuntu为Android编译内核。

成功设置menuconfig后,使用以下选项进行编译:

make ARCH=arm CROSS_COMPILE="arm-bravo-" -i -j10

它开始构建,但随后会出现很多错误:

error: variable '*something*' set but not used [-Werror=unused-but-set-variable]
cc1: all warnings being treated as errors

现在我明白这可以通过使用--disable-werror选项运行gcc来解决。 Probem是一个巨大的项目(内核),我对make和Makefile不够熟悉,知道我必须在哪里设置这个值。请帮助我理解并解决这个问题。

1 个答案:

答案 0 :(得分:16)

几周之后,我现在可以回答我自己的问题了。

在主Makefile中查找KBUILD_CFLAGS,并添加以下内容以将警告抑制为错误:

KBUILD_CFLAGS += -w
// if all errors are to be suppressed

KBUILD_CFLAGS += -Wno-error=unused-but-set-variable
// if that specific error is to be suppressed.