一杯清酒邀明月
天下本无事,庸人扰之而烦耳。
posts - 3121,comments - 209,views - 578万

  一般来说,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

posted on   一杯清酒邀明月  阅读(1760)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
历史上的今天:
2021-09-26 OpenCV 找出图像中最小值最大值函数minMaxLoc的使用
2021-09-26 OpenCV 截取图像中某一区域的方法
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示