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

相关推荐
mjhcsp4 分钟前
C++ Manacher 算法:原理、实现与应用全解析
java·c++·算法·manacher 算法
Z1Jxxx24 分钟前
0和1的个数
数据结构·c++·算法
朔北之忘 Clancy43 分钟前
2020 年 6 月青少年软编等考 C 语言二级真题解析
c语言·开发语言·c++·学习·青少年编程·题解·尺取法
消失的旧时光-19431 小时前
C++ 中的 auto 与 nullptr:不是语法糖,而是类型系统升级
开发语言·c++
fpcc1 小时前
跟我学C++中级篇—C++17中的元编程逻辑操作
c++·模板编程
HABuo1 小时前
【Linux进程(五)】进程地址空间深入剖析-->虚拟地址、物理地址、逻辑地址的区分
linux·运维·服务器·c语言·c++·后端·centos
AuroraWanderll1 小时前
类和对象(六)--友元、内部类与再次理解类和对象
c语言·数据结构·c++·算法·stl
Tim_101 小时前
【C++入门】05、复合类型-数组
开发语言·c++·算法
jikiecui1 小时前
信奥崔老师:三目运算 (Ternary Operator)
数据结构·c++·算法
无限进步_1 小时前
【C语言&数据结构】另一棵树的子树:递归思维的双重奏
c语言·开发语言·数据结构·c++·算法·github·visual studio