开源 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就可以直接运行了

相关推荐
冷崖3 小时前
原子锁操作
c++·后端
旖旎夜光7 小时前
C++(17)
c++·学习
Larry_Yanan8 小时前
Qt多进程(三)QLocalSocket
开发语言·c++·qt·ui
superman超哥8 小时前
仓颉语言中元组的使用:深度剖析与工程实践
c语言·开发语言·c++·python·仓颉
Lucas555555559 小时前
现代C++四十不惑:AI时代系统软件的基石与新征程
开发语言·c++·人工智能
_MyFavorite_9 小时前
cl报错+安装 Microsoft Visual C++ Build Tools
开发语言·c++·microsoft
charlie1145141919 小时前
现代嵌入式C++教程:C++98——从C向C++的演化(2)
c语言·开发语言·c++·学习·嵌入式·教程·现代c++
zmzb010310 小时前
C++课后习题训练记录Day55
开发语言·c++
李白同学10 小时前
C++:继承
开发语言·c++
k***921610 小时前
【C++】STL详解(九)—priority_queue的使用与模拟实现
开发语言·c++