首页 > 编程语言 >Qt 开发应用程序Debug与Release设置

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

时间:2022-09-26 16:15:04浏览次数:48  
标签:Qt debug Debug Release release 调试 TARGET

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

标签:Qt,debug,Debug,Release,release,调试,TARGET
From: https://www.cnblogs.com/ybqjymy/p/16731257.html

相关文章

  • QT——直接定位到exe程序所在的目录
    #pragmaonce#include<QApplication>#include<QDir>#defineIMAGE_PATH(name)QApplication::applicationDirPath()+QDir::separator()+"image"+QDir::separat......
  • Qt实现自定义窗口拖动
    1.widget重新三个函数voidmousePressEvent(QMouseEvent*event)override;voidmouseMoveEvent(QMouseEvent*event)override;voidmouseReleaseEvent(QMouseEve......
  • Qt 信号槽规则
    1. 一个信号允许连接多个槽函数  疑问1:当在这种情况下,一个信号发出,槽函数执行的顺序是按连接时的顺序依次执行的。如 信号sig1和槽函数slot1,slot2     ......
  • buildg 交互式dokcerfile debuger 工具
    buildg的设计是比较有意思的,使用buildg可以解决我们dockerfile调试的问题,内部基于了buildkit类似的工具buildkitcntrcontainerd参考资料https://github.com/ktock/b......
  • 在Intellij IDEA中使用Debug
    Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟......
  • Qt6.2.4 qDebug() 输出到控件
    参考http://labisart.com/blog/index.php/Home/Index/article/aid/184环境环境版本windows10Qt6.2.4QtCreator8.0.1(Community)qmake一......
  • Flutter发布Release版安装后Crash问题处理
    一、发布Flutterapp命令在flutter项目根目录下打开cmd执行:flutterbuildapk--release命令即可。二、安装后运行crash问题处理在flutter项目根目录下打开cmd执行:flut......
  • qt的基本控件——输入控件
    输入控件1、comboxbox下拉列表,由按钮和弹出列表组成双击这个控件,可以往里面加内容,一行一个。voidWidget::on_comboBox_currentIndexChanged(intindex){ QString......
  • 【代码片段】Qt6.2.4 C++ 打开外部 CMD 窗口
    转载https://blog.csdn.net/fuhuixin7497/article/details/85126799正文打开了一个外部CMD窗口,并且主程序推出后该窗口不会关闭voidMainWindow::on_allPathCmdBtn......
  • 关于字符编码Qt
    QString中汉字是按照UTF-8编码的,QString::toUtf8是输出UTF-8字符集,QString::local8bit是本地操作系统的字符集,QString::tolatin是Ascii码字符集下图代码中,汉字转成latin......