开源 C++ QT Widget 开发(十六)程序发布

   文章的目的为了记录使用C++ 进行QT Widget 开发学习的经历。临时学习,完成app的开发。开发流程和要点有些记忆模糊,赶紧记录,防止忘记。
 

 相关链接:

开源 C++ QT Widget 开发(一)工程文件结构-CSDN博客

开源 C++ QT Widget 开发(二)基本控件应用-CSDN博客

开源 C++ QT Widget 开发(三)图表--波形显示器-CSDN博客

开源 C++ QT Widget 开发(四)文件--二进制文件查看编辑-CSDN博客

 开源 C++ QT Widget 开发(五)通讯--串口调试-CSDN博客

开源 C++ QT Widget 开发(六)通讯--TCP调试-CSDN博客

开源 C++ QT Widget 开发(七)线程--多线程及通讯-CSDN博客

开源 C++ QT Widget 开发(八)网络--Http文件下载-CSDN博客

开源 C++ QT Widget 开发(九)图表--仪表盘-CSDN博客

开源 C++ QT Widget 开发(十)IPC进程间通信--共享内存-CSDN博客

开源 C++ QT Widget 开发(十一)进程间通信--Windows 窗口通信-CSDN博客

开源 C++ QT Widget 开发(十二)图表--环境监测表盘-CSDN博客

开源 C++ QT Widget 开发(十三)IPC通讯--本地套接字 (Local Socket)

开源 C++ QT Widget 开发(十四)多媒体--录音机

开源 C++ QT Widget 开发(十五)多媒体--音频播放



推荐链接:

开源 java android app 开发(一)开发环境的搭建-CSDN博客

开源 java android app 开发(二)工程文件结构-CSDN博客

开源 java android app 开发(三)GUI界面布局和常用组件-CSDN博客

开源 java android app 开发(四)GUI界面重要组件-CSDN博客

开源 java android app 开发(五)文件和数据库存储-CSDN博客

开源 java android app 开发(六)多媒体使用-CSDN博客

开源 java android app 开发(七)通讯之Tcp和Http-CSDN博客

开源 java android app 开发(八)通讯之Mqtt和Ble-CSDN博客

开源 java android app 开发(九)后台之线程和服务-CSDN博客

开源 java android app 开发(十)广播机制-CSDN博客

开源 java android app 开发(十一)调试、发布-CSDN博客

开源 java android app 开发(十二)封库.aar-CSDN博客

推荐链接:

开源C# .net mvc 开发(一)WEB搭建_c#部署web程序-CSDN博客

开源 C# .net mvc 开发(二)网站快速搭建_c#网站开发-CSDN博客

开源 C# .net mvc 开发(三)WEB内外网访问(VS发布、IIS配置网站、花生壳外网穿刺访问)_c# mvc 域名下不可訪問內網,內網下可以訪問域名-CSDN博客

开源 C# .net mvc 开发(四)工程结构、页面提交以及显示_c#工程结构-CSDN博客

开源 C# .net mvc 开发(五)常用代码快速开发_c# mvc开发-CSDN博客

内容:对QT程序的打包分发。

目录:

1.制作图标

2.打包流程

3.操作流程

一、制作图标

1.图片转换图标

ico转换网址:https://convertio.co/zh/

2.添加图标到QT

放到工程文件夹下

3.pro文件添加语句

RC_ICONS =myapp.ico

4.图标效果

二、打包流程

Qt Widgets 应用程序打包发布流程总览

步骤操作说明关键点与注意事项
1. 编译Release版本在Qt Creator中,将构建模式切换为 Release,然后点击构建项目。✅ 必须使用Release模式
✅ 确保程序编译成功且运行正常
❌ 不要使用Debug版本(体积大、速度慢、依赖复杂)
2. 准备发布目录在任意位置创建一个全新的空文件夹,将步骤1生成的可执行文件(.exe)复制进去。✅ 使用英文路径,避免意外错误
✅ 文件夹名称最好能体现程序名和版本号
3. 使用部署工具从开始菜单打开与你的编译环境匹配的Qt命令行(如Qt 5.15.2 MSVC2019 64-bit),导航到发布目录,执行命令:
windeployqt your_app_name.exe
🔴 核心步骤
✅ 必须使用与编译环境完全一致的Qt命令行(如MinGW或MSVC)
✅ 工具会自动将所需的所有Qt DLL库、插件、翻译文件等复制到当前目录
4. 补充资源文件将程序运行所需的自有资源(如图片、图标、配置文件、数据库文件等)手动复制到发布目录中。windeployqt 只负责Qt的依赖
✅ 需手动添加项目自身的资源文件
✅ 保持与开发时相同的目录结构
5. 最终测试在一台没有安装Qt和编译器的纯净Windows电脑上,运行发布目录中的可执行文件,进行完整的功能测试。🔴 至关重要的一步
✅ 确保所有功能正常
❌ 如果报错(如缺少xxx.dll),说明打包不完整,需返回检查
6. 打包分发将整个发布目录压缩成ZIP或RAR包直接分发,或使用安装包制作工具(如Inno SetupNSIS)制作专业的安装程序。✅ 压缩包:简单快捷
✅ 安装程序:用户体验更专业,可以创建开始菜单快捷方式、写入注册表等

三、操作流程

1.生成Release版的可执行程序

2.查看编译器

3.选取和编译器匹配的MinGW

需要匹配编译器,所以要选64位

4.将release的exe拷贝到D:\myapp文件夹,启动Qt 5.12.9 (MinGW 7.3.0 64-bit),切换到该目录。

5.输入windeployqt命令,自动打包所需的库。

6.exe可以直接打开了

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

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

相关文章

MATLAB2-结构化编程和自定义函数-台大郭彦甫视频

目录 if elseif else switch case otherwise while exercise练习 for 预宣告 练习题 break tips编程的小技巧 functions函数 练习题 函数句柄 if elseif else 如果condition为真,执行语句 if condition1statement1 elseif condition2statement2 elsest…

LVGL移植2048小游戏全攻略

目录 准备脚手架 修改源码 对接触摸 测试编译 测试运行 这一节将以一个已经编写好的 lvgl 小游戏 2048 描述如何将已经编写完成的 lvgl 程序移植到开发板上。 准备脚手架 在这之前,我们先准备基础的 LVGL 脚手架。可以直接从 lv_g2d_test 里复制过来进行修改…

在Unity2021中使用Profiler的Deep Profile功能时内存超高怎么办?

这通常是因为Deep Profile会记录每一帧所有函数调用的详细信息,导致内存急剧增长,尤其在大型项目或复杂场景中4。别担心,我来帮你分析原因并提供一些解决办法。 理解 Deep Profile 的内存开销与替代方案 Deep Profile是Unity Profiler的一个…

Ubuntu 设置中文输入法

一、使用 IBus(Ubuntu 默认框架)步骤 1:安装中文输入法sudo apt install ibus-libpinyin ibus-pinyin步骤 2:添加输入法打开 Settings > Keyboard > Input Sources。点击 “”,搜索 Chinese (Intelligent Pinyin…

【Zephyr电源与功耗专题】14_BMS电池管理算法(三重验证机制实现高精度电量估算)

文章目录前言一、算法系统框架设计介绍1.1:核心设计方式1.2:系统架构图1.3:核心参数配置二、核心算法详解2.1:硬件数据采集与滤波2.2:三重算法机制2.2.1:库仑计法(电流积分)2.2.2&am…

Python网络与多任务编程:TCP/UDP实战指南

Python网络与多任务编程:TCP/UDP实战指南 一、网络编程 1.1 前言 网络编程是现代软件开发中不可或缺的一部分,它使得不同设备之间的数据交换成为可能。Python提供了强大的标准库来支持各种网络编程需求。 1.1.1 IP地址简介 IP地址是互联网上设备的唯一标…

Android8 binder源码学习分析笔记(四)——ServiceManager启动

前文回顾: Android8 binder源码学习分析笔记(三): https://blog.csdn.net/g_i_a_o_giao/article/details/151365630?spm1001.2014.3001.5502 Android8 binder源码学习分析笔记(二): https://…

Redis 大 Key 与热 Key:生产环境的风险与解决方案

🔥 Redis 大 Key 与热 Key:生产环境的风险与解决方案 文章目录🔥 Redis 大 Key 与热 Key:生产环境的风险与解决方案🧠 一、问题定义与识别💡 什么是大 Key?🔥 什么是热 Key&#xff…

C++算法题中的输入输出形式(I/O)

本文主要帮助刷leetcode题型快速适应完整带输入输出的题(机试、考试、比赛等)接收能用cin就用cin 。cin 自动分割单词 的特性(cin 读取字符串时会自动跳过空格 / 换行,将连续非空格字符作为一个 “单词”)一、单组输入…

【左程云算法09】栈的入门题目-最小栈

目录 栈的入门题目-最小栈 代码演示 视频链接 算法讲解015【入门】栈的入门题目-最小栈 Leecode155 栈的入门题目-最小栈 实现一个getmin方法(高效方法,即不用遍历),希望能实现O(1) 做法&#xff1a…

Grafana与Prometheus实战

🌟Grafana的Dashboard的权限管理 创建团队 创建用户 设置团队权限 🌟Prometheus启用https及认证功能 自建ca的证书 准备证书目录 mkdir /app/tools/prometheus-2.53.4.linux-amd64/certs cd /app/tools/prometheus-2.53.4.linux-amd64/certs生成ca的…

FPGA交通灯设计报告(源码+管脚约束+实物图+设计报告)

基于FPGA的交通灯设计 摘要 本设计采用FPGA技术实现了一个智能交通灯控制系统。系统以Verilog HDL为设计语言,在FPGA平台上实现了交通灯的自动控制、数码管倒计时显示、紧急情况处理等功能。通过合理的状态机设计和模块化编程,系统具有良好的实时性、可靠性和可扩展性,能够…

技术论文分析分析论文《计算机病毒判定专家系统原理与设计》思考其在游戏中的应用

论文原文的引言主要有两大部分的内容:介绍计算机病毒,明确本文使用的病毒分类方式;分析传统计算机病毒检测存在的弊端。对于计算机病毒的定义,文中给出的定义比较严谨,我自己查了一下现在百度百科的定义,两…

《Unity项目实战:动态加载引发的显存危机全链路排查与重构实践》

从动态光影那流光溢彩、仿佛赋予虚拟世界真实质感的绚丽效果—这得益于Unity引擎强大的HDRP管线对光照路径的精准模拟,到物理引擎驱动的物体碰撞精准到毫厘的物理反馈—依托Unity Physics模块对刚体动力学的毫秒级计算,再到能够依据不同设备性能自动适配的画质表现—通过Unit…

智慧水库综合管理系统平台御控物联网解决方案

一、行业背景与痛点分析水库作为防洪、灌溉、供水、发电及生态保护的核心基础设施,其管理效率直接关系到区域水资源安全与可持续发展。然而,传统水库管理模式存在四大核心痛点:数据孤岛严重:水位、雨量、水质、设备状态等数据分散…

使用nvm安装Node.js18以下报错解决方案——The system cannot find the file specified.

使用 nvm 安装 Node.js 18以下 报错解决方案 在前端开发过程中,常常需要针对不同项目切换 Node.js 版本。nvm(Node Version Manager)是最常用的工具。但最近在尝试安装 Node.js 14 版本时,遇到了奇怪的错误。 问题描述 使用 nv…

在Excel和WPS表格中快速复制上一行内容

有的时候我们在Excel和WPS表格中想复制上一行对应单元格、连续区域或整行的内容,只需要在当前行拖动鼠标左键选中相关区域,然后按CtrlD键即可将上一行对应位置的内容复制过来——需要注意的是,如果当前行有数据,这些数据会直接被覆…

408学习之c语言(递归与函数)

今天主要学习了递归与函数的相关内容,下面将我今天所学知识与所写代码分享给大家 递归核心要点 递归三要素 基准条件(明确终止条件) 递归调用(逐步分解问题) 收敛性(确保每次递归都向基准条件靠近&#xff…

swVBA自学笔记016、Solidworks API Help 帮助文档的(三大版块)

目录1. Namespace (命名空间) 版块2. Interface (接口) 版块3. Members (接口成员) 版块4、总结关系5、如果你感觉上面说的过于简单,请往下看!6、示例链接→SOLIDWORKS API Help 20197、需要注意的是,带“I”的对象表示:接口1. Namespace (命…

通俗易懂地讲解JAVA的BIO、NIO、AIO

理解Java的I/O模型(BIO、NIO、AIO)对于构建高性能网络应用至关重要 🧠 通俗理解:快递站的故事 想象一个快递站: • BIO:就像快递站为每一个包裹都安排一位专员。专员从接到包裹到处理完(签收、…