开源 C++ QT QML 开发(二十三)程序发布

文章的目的为了记录使用QT QML开发学习的经历。开发流程和要点有些记忆模糊,赶紧记录,防止忘记。

相关链接:

开源 C++ QT QML 开发(一)基本介绍

开源 C++ QT QML 开发(二)工程结构

开源 C++ QT QML 开发(三)常用控件

开源 C++ QT QML 开发(四)复杂控件--Listview

开源 C++ QT QML 开发(五)复杂控件--Gridview

开源 C++ QT QML 开发(六)自定义控件--波形图

开源 C++ QT QML 开发(七)自定义控件--仪表盘

开源 C++ QT QML 开发(八)自定义控件--圆环

开源 C++ QT QML 开发(九)文件--文本和二进制

开源 C++ QT QML 开发(十)通讯--串口

开源 C++ QT QML 开发(十一)通讯--TCP服务器端

开源 C++ QT QML 开发(十二)通讯--TCP客户端

开源 C++ QT QML 开发(十三)多线程

开源 C++ QT QML 开发(十四)进程用途

开源 C++ QT QML 开发(十五)通讯--http下载

开源 C++ QT QML 开发(十六)进程--共享内存

开源 C++ QT QML 开发(十七)进程--LocalSocket

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

开源 C++ QT QML 开发(十九)多媒体--音频录制

开源 C++ QT QML 开发(二十)多媒体--摄像头拍照

开源 C++ QT QML 开发(二十一)多媒体--视频播放

推荐链接:

开源 C# 快速开发(一)基础知识

开源 C# 快速开发(二)基础控件

开源 C# 快速开发(三)复杂控件

开源 C# 快速开发(四)自定义控件--波形图

开源 C# 快速开发(五)自定义控件--仪表盘

开源 C# 快速开发(六)自定义控件--圆环

开源 C# 快速开发(七)通讯--串口

开源 C# 快速开发(八)通讯--Tcp服务器端

开源 C# 快速开发(九)通讯--Tcp客户端

开源 C# 快速开发(十)通讯--http客户端

开源 C# 快速开发(十一)线程

开源 C# 快速开发(十二)进程监控

开源 C# 快速开发(十三)进程--管道通讯

开源 C# 快速开发(十四)进程--内存映射

开源 C# 快速开发(十五)进程--windows消息

开源 C# 快速开发(十六)数据库--sqlserver增删改查

本章节主要内容是:实现qml程序的发布,在程序编译后.exe是无法打开的,所以需要进行打包发布实现直接可用。

1.制作图标

2.打包流程

3.操作流程

一、制作图标

1.图片转换图标

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

转换完成后下载放到工程文件夹

.pro文件添加语句

RC_ICONS =ico.ico

图标效果

二、打包流程

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

步骤 操作说明 关键点与注意事项
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)制作专业的安装程序。 ✅ 压缩包:简单快捷 ✅ 安装程序:用户体验更专业,可以创建开始菜单快捷方式、写入注册表等

三、操作流程

选择release编译

查看编译器,需要匹配

选取和编译器匹配的MinGW,搜索里输入min会出现下图,右键打开文件位置

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

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

输入windeployqt命令,自动打包所需的库。这里由于只有1个窗口所一没有打包其他库,正常的程序,会把所有的库打包到myapp文件家中,再使用Inno Setup等打包发布工具就可以发布了。

直接双击myapp文件中的exe就可以直接运行了

相关推荐
Rock_yzh1 分钟前
LeetCode算法刷题——53. 最大子数组和
java·数据结构·c++·算法·leetcode·职场和发展·动态规划
八个程序员18 分钟前
c++——探讨a÷b(long long)
开发语言·c++
77wpa18 分钟前
VS Code(Visual Studio Code)开发调试 C/C++ 工程配置
c++·vscode
kyle~34 分钟前
排序---堆排序(Heap Sort)
数据结构·c++·算法
王老师青少年编程41 分钟前
线性DP第12课:线性DP应用案例实践:数字三角形
c++·动态规划·dp·线性dp·csp·信奥赛·数字三角形
汉克老师1 小时前
CCF-NOI2025第一试题目与解析(第二题、序列变换(sequence))
c++·算法·动态规划·noi
A charmer1 小时前
内存泄漏、死锁:定位排查工具+解决方案(C/C++ 实战指南)
c语言·开发语言·c++
程序员东岸1 小时前
《数据结构——排序(下)》分治与超越:快排、归并与计数排序的终极对决
数据结构·c++·经验分享·笔记·学习·算法·排序算法
透明的玻璃杯1 小时前
VS2015 调用QT5.9.9 的库文件 需要设置QT库的路径
开发语言·qt
无限进步_1 小时前
C++初始化列表详解:语法、规则与最佳实践
java·开发语言·数据库·c++·git·github·visual studio