Кросс-компиляция ядра с использованием Makefile.Как подавить предупреждение -Wunused-but-set-variable - PullRequest
10 голосов
/ 31 октября 2011

Я пытаюсь выполнить кросс-компиляцию ядра для Android с помощью Ubuntu.

После успешной настройки 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

Теперь я понимаю, что это можно исправить, запустив gcc с опцией --disable-werror.Проблема в том, что это огромный проект (ядро), и я недостаточно разбираюсь в make и Makefile, чтобы знать, где мне нужно установить это значение.Пожалуйста, помогите мне понять и исправить эту проблему.

1 Ответ

16 голосов
/ 10 января 2012

Через несколько недель я могу ответить на свой вопрос ..

Найдите KBUILD_CFLAGS в основном файле Makefile и добавьте следующее, чтобы исключить предупреждения как ошибки:

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.
...