Проблема в том, что тот же код, который хорошо компилируется в Windows, не может быть скомпилирован в Ubuntu. Каждый раз, когда я получаю эту ошибку:
cc1: warnings being treated as errors
Это большая база кода, и мне не нравится исправлять все предупреждения.
Есть ли способ успешно скомпилировать, несмотря на предупреждения?
c
gcc
compiler-warnings
Саураб Верма
источник
источник
-Werror
, вы можете добавить его обратно для каждого каталога после удаления предупреждений.Ответы:
Конечно, найдите, где
-Werror
он установлен, и снимите этот флаг. Тогда предупреждения будут только предупреждениями.источник
-Wno-error
, как предложил nightcracker. Это должно работать, если только-Werror
не передается после флагов, которые вы установили вCFLAGS
make-файле.Вы можете сделать все предупреждения рассматриваемыми как таковые, используя
-Wno-error
. Вы можете сделать определенные предупреждения, которые будут обрабатываться как таковые, используя-Wno-error=<warning name>
где<warning name>
- это имя предупреждения, которое вы не хотите рассматривать как ошибку.Если вы хотите полностью отключить все предупреждения, используйте
-w
(не рекомендуется).Источник: http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Warning-Options.html
источник
Удалите
-Werror
из файлов Make или CMake, как предлагается в этом сообщенииисточник
Если вы компилируете ядро linux. Например, если вы хотите отключить предупреждение о том, что «неиспользованная, но установленная переменная» обрабатывается как ошибка. Вы можете добавить заявление:
в вашем Makefile
источник
Решение:
источник
Спасибо за все полезные предложения. Я наконец убедился, что в моем коде нет предупреждений, но снова получил это предупреждение от sqlite3:
что я исправил, добавив следующий CFLAG:
источник
-Wall
и-Werror
параметры компилятора могут вызвать это, проверьте, используются ли они в настройках компилятора.источник