您的位置:首页 > 编程语言 > Qt开发

Qt开发应用程序Debug与Release设置 .

2014-09-02 15:52 218 查看
转自:/article/8496580.html

一般来说,release版的可执行程序在体积上比起debug版要小很多(数倍甚至数十倍的差异),而且由于剥离了许多调试信息及符号等运行效率相对也高一些。然而在使用Qt开发中偶尔也会遇到及时选择了release版生成的二进制文件仍然很庞大的问题。所以要仔细检查一下相关设置,保证最后发布出去的版本是release版。

1、前提: 在生成Qt库时(./configure)已经配置为 + -debug-and-release

如果配置为./configure -release,则只能生成release版

附简单配置说明如下

-release ........... 调试关闭.没有调试库,自己的项目只能发布,不能调试(没有调试库的缘故),如果你硬要编译debug版本的话,会提示找不到xxxxxd.dll
* -debug ............. 只有调试库,没有释放库,也就是说以后自己的项目只能调试,如果你硬要编译debug版本的话,会提示找不到xxxxx.dll
+ -debug-and-release . 编译后包含两种库。最好编译两种库
2、Qt Createor设置

在creator的Projects选项卡中,构建设置(Build Settings),如果缺少了Debug或者Release,点击其中的Add选择对应的QtSDK版本即可。

在Build Steps中qmake步骤,如果是Debug则需加上参数:CONFIG+=debug。

3、pro文件(可选)

注意:如果在Qt Creator设置了构建参数,pro文件就不必重复设置。

CONFIG+=debug_and_release

CONFIG(debug,debug|release)

{

unix:TARGET=$$join(TARGET,,,_debug)

win32:TARGET=$$join(TARGET,,d)

}

make 或make debug -------debug版

make release -------release版

make all -------两个版本都生成

生成Makefile中有QT_NO_DEBUG参数

4、屏蔽release版本中所有QDebug()提示信息:

如果要在命令行输出时不打出所有qdebug信息,可以在pro文件中添加DEFINES+=QT_NO_DEBUG_OUTPUT
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: