【问题标题】: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 添加参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多