使用qmake,您可以轻松更改,以便构建调试版本, 或发布版本。只需修改CONFIG var并更改编译标志。
CONFIG += debug
CONFIG += release
使用调试时,你得到-g而没有优化, 当你使用release时你会得到-O2并且没有调试信息(没有-g)。
但指定的位置在哪里?
让我们说我希望我的应用程序可以通过优化大小来构建,-Os? 如何更改“发布”背后的内容?
由于
答案 0 :(得分:37)
您可以通过修改QMAKE_CXXFLAGS
来更改全局编译器标志。调试和发布版本的编译器标志可分别在QMAKE_CXXFLAGS_DEBUG
和QMAKE_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的文件,将这两个魔术线添加到其中。这取决于你和你所处的环境。