Qt的程序如何打包详细教学

生成Release版的程序

在打包Qt程序时,我们需要将发布程序需要切换为Release版本(Debug为调试版本),编译器会对生成的Release版可执行程序进行优化,使生成的可执行程序会更小。

debug版本

debug版本是一种开发过程中的构建,主要用于调试和开发。其主要特点包括:

  • 包含调试信息:debug版本包含了许多调试信息和工具,如符号表、行号和代码的其他元数据,这些都有助于开发者在调试时更容易地追踪代码执行。
  • 自动初始化变量:在debug版本中,未初始化的变量可能会被自动初始化,以防止使用未定义的值。这对于调试过程非常有利,开发者能够更容易地追踪潜在问题。
  • 优化级别低:为了更便于调试,debug版本通常针对可读性进行优化,而不是性能。因此,它可能比release版本慢。
  • 功能完整:debug版本保留了所有功能,包括开发过程中用来测试的功能。

debug版本主要用于开发阶段,方便开发人员进行测试和调试。然而,它不适合最终用户使用,因为性能较低且可能包含未经过测试的代码。

release版本

release版本是最终产品的构建,旨在提供给用户或客户使用。其主要特点包括:

  • 去除调试信息:release版本通常去除了所有调试信息,以减小文件大小并提高性能。
  • 不自动初始化变量:在release版本中,编译器通常不会自动初始化未使用的变量,这有助于提高性能。
  • 高优化级别:release版本经过编译器优化,以提高代码的执行速度和效率。这可能包括内联函数、循环展开等优化技术。
  • 功能精简:某些调试用的功能可能在release版本中被禁用,以提升安全性和性能。

release版本是经过测试的稳定版本,适合向用户发布和生产环境使用。

profile版本

profile版本是一种介于debug和release之间的构建类型,旨在兼顾性能和调试。其主要特点包括:

  • 文件大小适中:profile版本编译后的可执行文件比debug版本小很多,但比release版本大一点。
  • 包含部分调试信息:profile版本带有部分调试符号信息,这使得开发者在需要时能够进行一定的调试。
  • 性能更优:由于进行了部分优化,profile版本的性能通常比debug版本更优,但可能略逊于release版本。

profile版本适用于那些需要在开发过程中进行一定调试,但又希望获得比debug版本更好性能的场景。

打包

构建完当前项目后,找到生成的带Release后缀的构建目录。最后再进入release文件夹找到exe文件单独复制到一个新建文件夹里面

打开cmd控制台,cd进入该路径

再输入windeployqt Pix.exe(后面输入你自己的程序名称) ,完成后文件夹下会自动添加许多文件

下载打包工具:Software Protection, Software Licensing, Software Virtualization 

下载完后选择中文更易操作

 

 

第一:选择exe文件

第二:选择打包好后文件的名称和存放路径

第三:把除exe外的文件拖入到Virtual Box Files树内

第四:点击执行封包

运气好的话就已经可以发给其他人运行了!

运行exe报错cannot load library Qt5Core.dll

把打包过的exe发给另一个电脑使用,打开exe会报错:cannot load library Qt5Core.dll
(实际上使用 Enigma Virtual Box 打包时已经包含了 Qt5Core.dll 这个库),但是自己电脑上运行确不会报错

Qt5Core.dll 作为 Qt 框架的核心组件,依赖于多个其他的动态链接库(DLL)才能正常运行,其中包括 libgcc_s_dw2-1.dlllibwinpthread.dll 和 libstdc++-6.dll

我们在Qt目录下找到这三个文件放到Virtual Box Files树内再执行封包

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/462944.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AUTOSAR从入门到精通-BswM模块(二)

目录 前言 算法原理 BswM接口端口 BswM功能描述 模式仲裁 仲裁规则(Arbitration Rules) 模式仲裁来源 模式仲裁过程 模式条件(ModeCondition) 逻辑表达式(LogicExpressions) 模式控制 模式处理 操作执行 模式控制过程 模式控制基本流程 BswM Interfaces and …

【C++题解】1970. 判断是什么字符

欢迎关注本专栏《C从零基础到信奥赛入门级(CSP-J)》 问题:1970. 判断是什么字符 类型:字符串、字符型 题目描述: 从键盘读入一个字符,有可能是大写字母、小写字母、数字中的一种,请编程判断&…

2. Flink快速上手

文章目录 1. 环境准备1.1 系统环境1.2 安装配置Java 8和Scala 2.121.3 使用集成开发环境IntelliJ IDEA1.4 安装插件2. 创建项目2.1 创建工程2.1.1 创建Maven项目2.1.2 设置项目基本信息2.1.3 生成项目基本框架2.2 添加项目依赖2.2.1 添加Flink相关依赖2.2.2 添加slf4j-nop依赖2…

年底和2025年黄金预测:至少3000

黄金价格瞄准$3,000.00关口 过去两年,现货黄金价格一直处于强劲的牛市,从2022年9月的低点上涨了将近70%,达到本周创下的每金衡盎司$2,790.00的历史高点,几乎触及心理关口$2,800.00。 即使出现明显的回撤,只要2024年的…

Halcon区域分割之分水岭分割法

现实中我们见到过有山有湖的景象,那么一定是水绕山、山围水的情形。当然可在需要的时候人工构筑分水岭,以防集水盆之间的互相穿透。而区分高山与水的界线以及湖与湖之间的间隔,就是分水岭。 分水岭分割法是一种基于拓扑理论的数学形态…

LLM | 论文精读 | CVPR | SelTDA:将大型视觉语言模型应用于数据匮乏的视觉问答任务

论文标题:How to Specialize Large Vision-Language Models to Data-Scarce VQA Tasks? Self-Train on Unlabeled Images! 作者:Zaid Khan, Vijay Kumar BG, Samuel Schulter, Xiang Yu, Yun Fu, Manmohan Chandraker 期刊:CVPR 2023 DOI…

基于JavaWeb+MySQL实现口算题卡

爱 math 口算题卡 1. 总体要求 综合运用软件工程的思想,协同完成一个软件项目的开发,掌软件工程相关的技术和方法;组成小组进行选题,通过调研完成项目的需求分析,并详细说明小组成员的分工、项目的时间管理等方面。根…

Linux云计算 |【第五阶段】CLOUD-DAY8

主要内容: 掌握DaemonSet控制器、污点策略(NoSchedule、Noexecute)、Job / CronJob资源对象、掌握Service服务、服务名解析CluterIP(服务名自动发现)、(Nodeport、Headless)、Ingress控制器 一…

机器学习1_机器学习定义——MOOC

一、机器学习定义 定义一 1959年Arthur Samuel提出机器学习的定义: Machine Learning is Fields of study that gives computers the ability to learn without being explicitly programmed. 译文:机器学习是这样的领域,它赋予计算机学习的…

无人机维护保养、部件修理更换技术详解

无人机作为一种精密的航空设备,其维护保养和部件修理更换是确保飞行安全、延长使用寿命的重要环节。以下是对无人机维护保养、部件修理更换技术的详细解析: 一、无人机维护保养技术 1. 基础构造理解: 熟悉无人机的基本构造,包括…

HCIP--以太网交换安全(总实验)

实验背景 假如你是公司的网络管理员,为了提高公司网络安全性,你决定在接入交换机部署一些安全技术:端口隔、端口安全、DHCP snooping、IPSG。 实验拓扑图 实验的要求: 1.在R1、R2连接在GE0/0/1和GE0/0/2接口下,均划…

Qt中的Model与View 3:从样例出发理解QStringListModel和QListView

目录 Ui文件设计如下: 初始化窗口 这里,就是一经典的例子 你可以看到,我们的环境变量是一个经典的List列表,其中承载的就是我们的字符串。我们现在来仿照着搞一个: Ui文件设计如下: 我们下面来逐一演示用…

【VSCode】配置

安装插件 C vscode-icons gdb调试 https://www.bilibili.com/video/BV15U4y1x7b2/?spm_id_from333.999.0.0&vd_sourcedf0ce73d9b9b61e6d4771898f1441f7f https://www.bilibili.com/video/BV1pU4y1W74Z?spm_id_from333.788.recommend_more_video.-1&vd_sourcedf0…

【开发心得】筑梦上海:项目风云录(10)

目录 经典代码背后的故事 贵人相助与价值创造的跳槽哲学 从甲方现场到职场晋升 经典代码背后的故事 写完上一篇故事,本来想休息一段时间,再把思路整理一下。 但是感觉前面的故事里,涉及的故事多,涉及的技术和代码少,很多小伙伴私信希望能够多一些技术和代码的分享。 好…

编译原理第一次实验报告

源代码及附件:编译原理实验一源程序及附件资源-CSDN文库实验题目 实验要求 实验设计 前两部分指出了实验的宏观把控,为了具体实施实验,我们需要预先为实验做出如下设计: 本次实验我选取了C语言的一个子集进行设计词法分析器&…

Elastix-基于ITK的医学图像配准库

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 Elastix是什么? Elastix是一个广泛使用的医学图像配准库,旨在帮助研究人员和临床医生处理和分析医学影像…

清华双臂机器人扩散大模型RDT:先预训练后微调,支持语言、图像、动作多种输入

前言 通过上文介绍的GR2,我们看到了视频生成模型在机器人训练中的应用,无独有偶,和GR2差不多一个时期出来的清华RDT,其模型架构便基于视频生成架构DiT改造而成(当然,该清华团队其实也在DiT之前推出了U-ViT&#xff0c…

远程连接服务

目录 一、远程连接服务器简介 二、连接加密技术简介 三、认证阶段 四、ssh实验 1.修改ssh服务器的端口号 2.拒绝root账户远程登录 3.允许特定用户ssh登录,其他用户无法登录 4.ssh-keygen 一、远程连接服务器简介 概念: 远程连接服务器通过文字或…

YOLOv5之Common.py

文章目录 1.学习目的2.网络模型![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/67b8dbd00c9b4034ba370fc8b8a6031a.jpeg)3.common.py分析 1.学习目的 YOLOv5中最关键一个模型类 2.网络模型 3.common.py分析 # Ultralytics YOLOv5 🚀, AGPL-3.0 license…

获取Windows计算机信息的一些常用命令

一、获取Windoiws计算机基本信息 1.1、获取系统详细信息 # systeminfo的详细用法帮助命令 systeminfo /? 通过获取系统信息可以了解系统版本内容、硬件信息、域信息和补丁情况。 systeminfo 1.2、获取系统已经启动的服务 # net的详细用法帮助命令 net /? 1.2.1、获取系…