windows下动态发布QT程序

简介: windows下动态发布QT程序

Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,

如果自己去复制dll,很可能缺少几个文件,导致exe在别的电脑里无法正常运行。

因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。

windeployqt 工具可以自动复制,插件文件夹和 dll文件、qm文件。可以得到完整的 exe 程序发布集合,解决所有的依赖关系。


笔者的开发环境:Qt 5.5.0+VS2010

一、Qt Widgets Application可执行程序发布方式

首先用 QtCreator 新建一个 Qt Widgets Application 项目,项目名字假定是 QT_1。

然后以 Release 方式编译生成 exe 程序:

1、编译工程


图1 选择构建程序为-发布版本(release)


图2 编译成功后,会在工程路径release目录下生成xx.exe文件。


图3 生成的.exe文件

将这个生成的QT_1.exe文件拷贝至新的文件夹。

比如创建一个QT_release的文件夹,将QT_1.exe拷贝至QT_release文件夹,等待发布。


图4


2、运行windeployqt工具,发布软件

Windeployqt工具在什么地方?

答:在QT软件安装的bin目录下。

笔者的Windeployqt工具路径:D:\Qt\Qt5.5.0\5.5\msvc2010\bin


如图所示:


图5


Windeployqt工具需要在DOS命令行运行,所以需要将Windeployqt工具路径添加到系统的环境变量里。

添加环境变量步骤:以win8为例

我的电脑–>属性—>高级系统设置—>环境变量


环境变量之间需要以分号隔开。


图6添加环境变量步骤

环境变量添加成功后生效的方法:

1、重启电脑生效

2、在DOS命令行输入set pata=xxx,关闭DOS窗口

(在DOS下设置环境变量,不会影响系统设置的环境变量,DOS下的设置环境变量只是一个临时变量,在DOS下设置环境变量,虽然不会影响系统设置的环境变量,但是会触发系统设置的环境变量更新,这正是我们所需要的结果)

3、启动DOS命令窗口,打印出环境,看路径是否生效。(echo %path%)


如果环境变量没有及时生效,又不想重启电脑,可以设置临时的环境变量。

如图:


设置好环境变量之后,接下来就准备运行打包软件。


打包步骤

1、通过命令进入刚才存放QT_1.exe的文件夹里。

cd /d D:\QT_XX\QT_release


2、运行Windeployqt工具自动打包

在存放QT_1.exe的目录运行D:\QT_XX\QT_release>Windeployqt QT_1.exe 即可自动寻找依赖文件。


图7 自动查找依赖项

4、打包结束后,在存放QT_1.exe文件的目录下会出现很多dll等库文件。这些文件是QT软件运行时需要依赖的文件。


图8


5、将此文件夹打包发给其他电脑,在其他电脑解压双击xxx.exe即可运行。

二、Qt Quick Application发布方式


首先用 QtCreator 新建一个 Qt Quick Application 项目,项目名字假定是 QML_1。

然后以 Release 方式编译生成 exe 程序。

步骤与上面Qt Widgets Application发布方式基本一样。


唯一不同是最后执行的命令:

windeployqt QML_1.exe –qmldir D:\Qt\Qt5.5.0\5.5\msvc2010\qml


路径D:\Qt\Qt5.5.0\5.5\msvc2010\qml 需要根据自己QT的安装路径决定。

目录
相关文章
|
18天前
|
Web App开发 存储 Linux
Linux(33)Rockchip RK3568 Ubuntu22.04上通过SSH运行Qt程序和关闭Chrome的密钥提示
Linux(33)Rockchip RK3568 Ubuntu22.04上通过SSH运行Qt程序和关闭Chrome的密钥提示
79 0
|
18天前
|
消息中间件 编译器 API
Windows窗口程序
Windows窗口程序
|
18天前
【QT】读写.ini配置文件的程序实现
【QT】读写.ini配置文件的程序实现
|
18天前
|
Windows
实现Windows程序的数据更新
实现Windows程序的数据更新
15 0
|
18天前
|
Windows
构建布局良好的Windows程序
构建布局良好的Windows程序
12 0
|
18天前
|
C# Windows
初识Windows程序
初识Windows程序
12 0
|
18天前
|
Unix 编译器 开发者
Qt5.14.2 轻松掌握Qt中的压缩与解压缩:QuaZIP的神秘面纱与实战演练之windows环境编译
Qt5.14.2 轻松掌握Qt中的压缩与解压缩:QuaZIP的神秘面纱与实战演练之windows环境编译
175 0
|
18天前
|
开发框架 自然语言处理 Linux
Qt:构建强大跨平台应用程序的框架
Qt:构建强大跨平台应用程序的框架
|
18天前
|
编译器 C语言 C++
|
18天前
|
Windows
LabVIEW启用/禁用Windows屏幕保护程序
LabVIEW启用/禁用Windows屏幕保护程序
20 4
LabVIEW启用/禁用Windows屏幕保护程序

推荐镜像

更多