如何更改gcc的qmake发布标志? (将-O2更改为-Os)

时间:2011-04-19 11:20:58

标签: qt qmake

使用qmake,您可以轻松更改,以便构建调试版本, 或发布版本。只需修改CONFIG var并更改编译标志。

CONFIG += debug
CONFIG += release

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

但指定的位置在哪里?

让我们说我希望我的应用程序可以通过优化大小来构建,-Os? 如何更改“发布”背后的内容?

由于

2 个答案:

答案 0 :(得分:37)

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

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

QMAKE_CXXFLAGS_RELEASE -= -O2
QMAKE_CXXFLAGS_RELEASE += -Os

答案 1 :(得分:3)

在我的情况下,我尝试了我到处找到的所有东西,但都没有用。对我来说唯一的办法是在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的文件,将这两个魔术线添加到其中。这取决于你和你所处的环境。