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

1、Qt 程序部署指南

静态链接部署

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

动态链接部署

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

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

确保程序能访问Qt插件目录(如imageformats、sqldrivers)。可通过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程序的打包方法因平台和目标需求不同而有所差异。

复制代码
原创不易,打字不易,截图不易,撸码不易,整理不易,走过路过,不要错过,欢迎点赞,收藏,转载,复制,抄袭,留言,灌水,请动动你的金手指,祝您早日实现财务自由。
相关推荐
中科三方15 分钟前
IPv6检测常见问题:AAAA记录检测不通过是什么原因?
开发语言·php
沫璃染墨1 小时前
从零入门计算机网络系列(十一):HTTP协议进阶——从重定向原理到GET/POST与Fiddler抓包
linux·服务器·开发语言·网络·c++·tcp/ip·html
刚入门的大一新生1 小时前
Linux-线程互斥
java·开发语言
香芋芋圆2 小时前
iD-editor 详解|OSM官方在线编辑器,基于D3.js的轻量地图编辑器
开发语言·javascript·编辑器
蓝祁子yoky2 小时前
Qt学习日记 Day13:网络编程(一)-TCP基础与Socket实战
网络·qt·学习
小熊恋旧2 小时前
Python 面向对象编程:方法、属性、继承与多态详解
开发语言·python
云边云科技_云网融合2 小时前
面向汽车零部件制造业场景的解决方案 | 70 秒:一台车下线的时间里,藏着五张网
开发语言·汽车·php
Evand J2 小时前
【PMSM滤波例程2】PMSM未知负载转矩观测EKF。MATLAB例程(负载增广EKF与实际仿真结果)。附下载链接
开发语言·matlab·电机
will_net3 小时前
apollo 站点部署&C#接入
开发语言·c#·apollo
晗夜未央3 小时前
任务队列反复失败,先分清重试、阻塞和结果待核对
开发语言·javascript