Я погуглил везде и не смог разобраться как убрать -fpermissive
флаг из моих сгенерированных Qt Makefiles. -fpermissive
флаг по умолчанию там, даже если я делаю QMAKE_CXXFLAGS -= -fpermissive
в моем файле проекта Qt, пытаясь удалить его. Вот мой Makefile, где находятся флаги:
CFLAGS = -fpermissive -finline-functions -Wno-long-long -g -Wall $(DEFINES)
CXXFLAGS = -fpermissive -finline-functions -Wno-long-long -g -fexceptions -mthreads -frtti -Wall $(DEFINES)
Как я могу удалить это?
Мои сгенерированные QtCreator make-файлы не имеют -fpermissive где-нибудь в них, по крайней мере, насколько я могу Ctrl + F.
Проверьте настройки сборки вашего проекта и убедитесь, что у вас нет -fpermissive там в качестве аргументов командной строки.
Это те же две строки в моем сгенерированном QMake make-файле:
CFLAGS = -pipe -fno-keep-inline-dllexport -O2 -Wall -Wextra $(DEFINES)
CXXFLAGS = -pipe -fno-keep-inline-dllexport -O2 -std=c++11 -frtti -Wall -Wextra -fexceptions -mthreads $(DEFINES)
Мои make-файлы также ссылаются на файл с именем ‘qmake.conf’, который для меня расположен по адресу:
C: /Qt/Qt5.0.1/5.0.1/mingw47_32/mkspecs/win32-g ++ / qmake.conf
Похоже, что qmake.conf используется для генерации make-файлов для разных компиляторов и платформ и может добавлять аргументы в ваш make-файл.
Других решений пока нет …