QT肝8天19--Windows程序部署

1、Qt 程序部署指南

静态链接部署

静态链接将Qt库和应用程序打包成一个可执行文件,适合简单分发。使用静态链接需确保Qt版本支持静态编译(开源版需自行编译静态库)。编译时在qmakeCMake中配置静态链接选项:

动态链接部署

动态链接需附带Qt的运行时库。通过windeployqt(Windows)、macdeployqt(macOS)或手动复制库文件(Linux)自动收集依赖项:

平台特定处理
  • Windows :需包含Qt5Core.dll等动态库及platforms/qwindows.dll插件。建议使用NSISInno Setup制作安装包。
  • macOS :通过macdeployqt生成.app bundle并处理框架依赖:
  • Linux :依赖系统库,可打包为AppImageSnap。使用ldd检查动态库:
处理插件和资源

确保程序能访问Qt插件目录(如imageformatssqldrivers)。可通过QCoreApplication::addLibraryPath()指定路径,或将插件放在可执行文件同级目录的plugins子文件夹中。

依赖检查工具
  • Dependency Walker(Windows):分析缺失的DLL。

2、一起行动,共创辉煌!

1、查看编译环境

2、查看输出目录

3、开始打包

Qt 程序打包方法

Windows 平台

使用 windeployqt 工具自动收集依赖项,该工具位于 Qt 安装目录的 bin 文件夹中。

运行命令:

cpp 复制代码
windeployqt --release --no-compiler-runtime --no-angle --no-opengl-sw your_app.exe

将动态链接库、插件和资源文件复制到同一目录,最后使用 NSIS 或 Inno Setup 创建安装包。

Linux 平台

使用 linuxdeployqt 工具打包,需先安装基础依赖:

找到QT安装目录下的编译命令所在位置 ,如图所示:

cmd命令进入到上面那个位置

开始执行打包命令

打包成功后的文件资源

这个目录就是项目打包后的程序包,可以将这个包发给对方,也可以利用专门工具制作成可执行的安装程序,如专门的打包工具InstallShield这类软件,这里为了简单,就不操作了。

4、运行测试

5、小结

Qt程序的打包方法因平台和目标需求不同而有所差异。

复制代码
原创不易,打字不易,截图不易,撸码不易,整理不易,走过路过,不要错过,欢迎点赞,收藏,转载,复制,抄袭,留言,灌水,请动动你的金手指,祝您早日实现财务自由。
相关推荐
炘爚20 小时前
C++ 右值引用与程序优化
开发语言·c++
si莉亚21 小时前
ROS2安装EVO工具包
linux·开发语言·c++·开源
清心歌21 小时前
CopyOnWriteArrayList 实现原理
java·开发语言
良木生香21 小时前
【C++初阶】C++入门相关知识(2):输入输出 & 缺省参数 & 函数重载
开发语言·c++
忘梓.21 小时前
墨色规则与血色节点:C++红黑树设计与实现探秘
java·开发语言·c++
hhh3u3u3u21 小时前
Visual C++ 6.0中文版安装包下载教程及win11安装教程
java·c语言·开发语言·c++·python·c#·vc-1
星河耀银海21 小时前
C++ 模板进阶:特化、萃取与可变参数模板
java·开发语言·c++
cccccc语言我来了21 小时前
【C++---unordered_set/map底层封装】个不拘一格的集合。它不似有序集合那般循规蹈矩,而是以一种洒脱不羁的方式,将元素们随意地散落其中。每一个元素都是独一无二的。
开发语言·c++·哈希算法
Zfox_21 小时前
C++ IO流全解析:标准库中的数据处理与文件读写艺术
开发语言·c++
加号321 小时前
【C#】实现沃德普线光控制器通信控制(附完整源码)
开发语言·c#