【问题标题】:How to change qmake release flags for gcc? (Change -O2 to -Os)如何更改 gcc 的 qmake 发布标志? (将 -O2 更改为 -Os)
【发布时间】:2011-08-08 14:27:57
【问题描述】:

使用 qmake 您可以很容易地进行更改,因此您可以构建调试版本, 或发布版本。只需修改 CONFIG 变量,编译标志就会改变。

CONFIG += debug
CONFIG += release

当你使用调试时你得到 -g 并且没有优化, 当你使用 release 时,你会得到 -O2 并且没有调试信息(没有 -g)。

但是具体在哪里呢?

假设我希望在构建我的应用程序时对大小进行优化,-Os? 如何更改“发布”背后的内容?

谢谢

【问题讨论】:

    标签: qt qmake


    【解决方案1】:

    您可以通过修改QMAKE_CXXFLAGS 来更改全局编译器标志。调试和发布版本的编译器标志可以分别在QMAKE_CXXFLAGS_DEBUGQMAKE_CXXFLAGS_RELEASE 中设置。

    对于您的具体示例,您应该执行以下操作:

    QMAKE_CXXFLAGS_RELEASE -= -O2
    QMAKE_CXXFLAGS_RELEASE += -Os
    

    【讨论】:

      【解决方案2】:

      在我的情况下,我尝试了我在各处找到的所有东西,但都没有奏效。对我来说唯一的方法是在 qt5 安装目录中硬编码标志!所以为了记录,我添加了这两行:

      QMAKE_CFLAGS_RELEASE = "-march=native -O3 -msse -msse2 -msse3 -mssse3 -fomit-frame-pointer -pipe"
      QMAKE_CXXFLAGS_RELEASE = "-march=native -O3 -msse -msse2 -msse3 -mssse3 -fomit-frame-pointer -pipe"
      

      到文件:

      /opt/qt5/mkspecs/linux-g++/qmake.conf
      

      请注意,我已在 /opt/qt5 路径中编译并安装了 qt5。因此,您可以在系统中搜索一个名为 mkspecs 的文件夹,然后搜索一个名为 linux-g++ 的子文件夹,然后搜索一个名为 qmake.conf 的文件,以将这两条神奇的线添加到其中。这取决于您和您所处的环境。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-12
        • 2013-01-10
        • 1970-01-01
        • 1970-01-01
        • 2013-01-16
        • 1970-01-01
        相关资源
        最近更新 更多