【问题标题】:Remove flags (-fpermissive) from Makefile (Qt)从 Makefile (Qt) 中删除标志 (-fpermissive)
【发布时间】:2013-03-12 02:03:28
【问题描述】:
我到处都用谷歌搜索过,但还没有弄清楚如何从我的 Qt 生成的 Makefile 中删除 -fpermissive 标志。 -fpermissive 标志默认存在,即使我在我的 Qt 项目文件中执行 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)
如何删除这些?
【问题讨论】:
标签:
c++
qt
makefile
projects-and-solutions
【解决方案1】:
我的 QtCreator 生成的 makefile 在它们的任何地方都没有 -fpermissive,至少在我可以 Ctrl+F 的范围内。
检查您项目的构建设置,并确保您没有将 -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 添加参数。