отключить -Wirror INI-файл конфигурации - PullRequest
12 голосов
/ 15 ноября 2011

При создании проекта с Makefile я получаю эту ошибку:

error: implicit declaration of function ‘fatal’ [-Werror=implicit-function-declaration]

cc1: all warnings being treated as errors

./configure --help показывает

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --disable-dependency-tracking  speeds up one-time build
  --enable-dependency-tracking   do not reject slow dependency extractors
  --disable-gtktest       do not try to compile and run a test GTK+ program
  --enable-debug    Turn on debugging

как я могу сказать, что настройка не включать -Werror ??

Ответы [ 3 ]

18 голосов
/ 27 ноября 2011

Werror является аргументом gcc, вы не можете удалить его напрямую с помощью ./configure, в противном случае в тексте справки появится опция типа --disable-error. Однако это возможно.

Установить переменную среды:

export CFLAGS="-Wno-error"

Это для компиляторов Си. Если в проекте используется C ++, выполните:

export CXXFLAGS="-Wno-error"

В очень редком случае проект не учитывает эти переменные, в крайнем случае вы должны отредактировать файл configure.ac и найти -Werror и удалить его из строки, в которой он встречается (хотя будьте осторожны).

6 голосов
/ 30 июня 2014

похоже, что эта функция была в автоинструментах много лет:

./configure --disable-werror

к сожалению, я не смог заставить работать следующий конкретный случай:

./configure --enable-wno-error=unused-value

возможно, это могло бы сработать, если бы один из символов «=» вышел, предполагая, что это возможно.Как говорит Ским, можно все еще использовать CFLAGS или CXXFLAGS.

1 голос
/ 15 апреля 2017

Эта работа для меня, компиляция curlpp, lubuntu 16.10:

./configure --disable-ewarning
...