我到处都有Google搜索,还没有弄清楚如何从Qt生成的Makefile中删除-fpermissive标志。默认情况下,即使我在Qt项目文件中执行-fpermissive,尝试将其删除,QMAKE_CXXFLAGS -= -fpermissive标志还是默认存在。这是我的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生成的生成文件在任何地方都没有-fpermissive,至少在我可以按Ctrl + F的范围内。
检查项目的“构 build 置”,并确保其中没有-fpermissive作为命令行参数。

这与我的QMake生成的makefile中的两行相同:

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)

我的makefile还引用了一个名为“qmake.conf”的文件,对我来说,该文件位于:
C:/Qt/Qt5.0.1/5.0.1/mingw47_32/mkspecs/win32-g++ / qmake.conf

看起来qmake.conf用于帮助为不同的编译器和平台生成makefile,并且可以向您的makefile添加参数。

关于c++ - 从Makefile(Qt)删除标志(-fpermissive),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15352035/

10-12 02:05