Я собираю стороннюю библиотеку и не хочу исправлять предупреждения, присутствующие в библиотеке, но я не хочу, чтобы они загрязняли вопросы панель в Qt Creator.
Я пытался следовать совету Вот, но нет флага компилятора для отключения -Wall
после того, как он был включен, например, с -Wno-enum-compare
,
После прочтения этот, Я попытался удалить флаг так:
CFLAGS -= -Wall
Но это тоже не сработало. Так я попробовал этот совет:
QMAKE_CXXFLAGS_WARN_OFF -= -Wall
Еще ничего.
Так я посмотрел в сгенерированном Makefile
и нашел это:
CFLAGS = -pipe -g -fPIC -Wall -W -D_REENTRANT $(DEFINES)
CXXFLAGS = -pipe -g -fPIC -Wall -W -D_REENTRANT $(DEFINES)
Поэтому я попытался удалить флаг из этих двух переменных:
CFLAGS -= -Wall
CXXFLAGS -= -Wall
Еще ничего. Как вы должны удалить этот флаг компилятора ?!
Самое простое решение:
CONFIG += warn_off
Спасибо Пеппе в комментариях.
-Wall
флаг вставляется в Makefile
по этим двум переменным:
QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_ON
Так чтобы убрать -Wall
нужно удалить его из и то и другое из этих переменных.
QMAKE_CFLAGS_WARN_ON -= -Wall
QMAKE_CXXFLAGS_WARN_ON -= -Wall
warn_off
делает именно это.
Как отметил в комментарии «peppe», путь Qt’ish таков в соответствии с документацией ниже: CONFIG += warn_off/on
warn_on
: Компилятор должен вывести как можно больше предупреждений. Это игнорируется, если указано warn_off.
warn_off
: Компилятор должен выводить как можно меньше предупреждений.
Документацию CONFIG можно найти в Вот.
QMAKE_CXXFLAGS_WARN_OFF/ON
переменные не нужно устанавливать явно, так как они обрабатываются qmake.