1

我到处都用谷歌搜索过,但还没有弄清楚如何-fpermissive从我的 Qt 生成的 Makefile 中删除标志。该-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)

我怎样才能删除这些?

4

1 回答 1

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 添加参数。

于 2013-03-12T03:45:39.810 回答