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的安装路径决定。

目录
相关文章
|
1月前
|
监控 编译器 Windows
Qt5实现Windows平台串口通信
Qt5实现Windows平台串口通信
|
1月前
|
安全 Ubuntu iOS开发
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
135 3
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
|
3月前
|
Ubuntu Linux Windows
如何在Ubuntu系统中安装Wine,借此来运行Windows程序
熟悉的登录画面出现,在Ubuntu系统中扫描登录微信程序。
|
3月前
|
Unix Linux 编译器
解决在Windows平台上运行Golang程序时出现的syscall.SIGUSR1未定义错误。
通过这种结构,你的代码既可以在支持 SIGUSR1 信号的系统上正常工作,又可以在不支持这些信号的 Windows 系统上编译通过,确保跨平台的兼容性和功能的完整性。
177 0
|
4月前
|
Windows
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
141 2
|
5月前
|
Windows
Windows下版本控制器(SVN)-启动服务器端程序
Windows下版本控制器(SVN)-启动服务器端程序
193 4
|
6月前
|
安全 Devops 测试技术
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
145 0
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
|
9月前
|
安全 JavaScript Java
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
163 12
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
|
8月前
|
Windows
Windows程序的数字签名证书怎么申请
Windows程序的数字签名证书申请流程包括:准备企业资料(营业执照、税务登记证等),提交申请表及企业资料。经过初审、实名认证和二审后,等待1-5个工作日审核结果。审核通过后,CA机构颁发证书并通过邮件或邮寄方式发送。收到证书后按指南安装并使用签名工具对程序进行数字签名,确保软件完整性和可信度。注意证书有效期、管理和兼容性问题。
|
8月前
|
自然语言处理 安全 测试技术
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
565 0
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试

推荐镜像

更多
  • qt