Быстрый способ переопределить флаг -Werror?

Если конфигурация cc настроена на использование -Werror, есть ли способ переопределить флаг -Werror из терминала при использовании make?


person Nickolay Kondratyev    schedule 01.08.2012    source источник
comment
Затем передайте -Wno-error компилятору, возможно, будет достаточно добавить CFLAGS в make-файл.   -  person Daniel Fischer    schedule 01.08.2012
comment
См. раздел Make: переопределить флаг, чтобы сделать это в Makefile, а не в терминале. В этом случае есть лучший ответ.   -  person andrewdotn    schedule 26.06.2013
comment
Наконец, я решил эту проблему, изменив исходные файлы, чтобы удалить -Werror, с помощью этой команды find . -name Makefile -or -name '*m4' -exec sed -i s/-Werror//g {} \; Обязательно сделайте резервную копию перед использованием, так как это может привести к поломке. Возможно, вам придется настроить find, чтобы найти файлы, содержащие определения make.   -  person NeDark    schedule 31.07.2015


Ответы (1)


Вы можете установить флаги при вызове make:

CFLAGS=-Wno-error make
person blahdiblah    schedule 01.08.2012
comment
Это, вероятно, не сработает. Большинство make-файлов имеют значение по умолчанию CFLAGS, что-то вроде CFLAGS = -O2 -g или что-то в этом роде. Чтобы переопределить это, вы должны передать назначение в командной строке, а не в среде: вместо этого запустите make CFLAGS=-Wno-error. - person MadScientist; 02.08.2012
comment
@MadScientist Хороший вопрос, но если вы передадите назначение CFLAGS в качестве аргумента make, оно уничтожит все, что было бы установлено, и потенциально полностью нарушит сборку (если только не было установлено только -Werror). Если это так, то лучший способ действительно через ./configure --extra-cflags, если он доступен. - person blahdiblah; 02.08.2012