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

相关推荐
Henry Zhu12323 分钟前
C++中的特殊成员函数与智能指针
c++
_wyt0013 小时前
多重背包问题详解
c++·背包dp
Ljwuhe4 小时前
C++——多态
开发语言·c++
越甲八千4 小时前
STL stack为何没有迭代器
c++
从零开始的代码生活_6 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法
云小逸6 小时前
【C++ 第七阶段:模板、泛型编程与工程综合详解】
开发语言·c++
Quz6 小时前
QML 信号与槽:直接绑定与跨文件通信
qt·编程语言·设计
GIS阵地6 小时前
QgsSingleBandPseudoColorRenderer 完整详解(QGIS 3.40.13 C++)
开发语言·前端·c++·qt·qgis
王维同学7 小时前
[原创][Windows C++]LSA 认证、安全与通知包的注册表枚举
c++·windows·安全
程序员Rock7 小时前
上位机开发-MODBUS面试常见问题
c语言·c++·面试·职场和发展·上位机