Windows如何打包Qt程序
很多Qt爱好者想发布自己的Qt软件,但却发现在其他没有安装Qt SDK的机器上无法运行,这就是本文想要说明的问题。现在网上大部分软件都要发布自己开发的应用程序,都会打包到exe文件中,待安装完exe文件后,就会生成很多小文件,其实原理都一样,只是各自使用的打包工具不能罢了。本文主要介绍在Windows平台如何打包自己的Qt程序,相对比较简单的,这并没有正规软件的向导流程。
在Windows系统中,要打包Qt程序,主要会用到3个工具包,分别是:
1.hap-depends 查看软件的依赖库(*.dll)
2. ASPack 动态链接库压缩软件
2.filepack 软件的打包工具
这三个在网上都有下载地址,本人在这里提供:
下载地址:
hap-depends + ASPack+ filepack
本文以《CSDN博客下载器》软件为例,以下是一些打包程序的详细步骤:
1.使用hap-depends工具打开Qt应用程序

2.打开后,可以看到很多警告,那些警告(黄色问号)对应的库就是需要的动态链接库,到Qt的安装目录拷贝到应用程序的所在目录即可。
3.到Qt的安装目录,xx/Qt/4.8.0/bin,可以看到很多*.dll文件
4.这些都是Qt的动态链接库
5.将警告对应的dll文件拷贝到Qt程序目录
6.此时可以打开界面了,也能使用,但是在其他电脑是不正常的,因为程序中使用到了图片库,数据库驱动,以及播放视频库,需要使用这些插件。
7.Qt的plugins插件
8.将插件拷贝到程序的目录,原来在plugins的sqldrivers目录,拷贝到这里也文件夹名称必须保持一致。
9.程序启动,拷贝到其他电脑也可以正常运行了。
10.这是在压缩dll文件,大部分是可以,但有些会失败,所以在发布时,必须在多台电脑测试,从截图可以看到,原来的文件变成了以.bak结尾的,大小相差挺大。当然这一部不是必须的,因为后面的打包工具就可以压缩文件了。
11.开始打包Qt程序
12.这工具很简单,下一步就行,然后选择程序对应的目录。
13.选择要打包的可执行文件。
14.设置
15.变量列表:指该打包后的程序被打开时,将文件解压到什么位置,这可以选择不同的变量来看看结果,一般程序都是放到临时目录,所以就选择 "*Tempdir*"。可执行文件的输出目录随便都行,打包完后拷贝出来即可。
16.
17.创建
18.封包成功
19.打完包后,程序有8.03MB,如果太大,打包,不然每次执行都会重新解压,影响速度。
还有其他比较高级,比较复杂的程序打包工具,那些工具等以后要用到再去摸索。以上几个工具包都不需要积分,大家可以无限下载。
Windows如何打包Qt程序的更多相关文章
- Linux 打包QT程序到未安装QT的其他Linux主机下运行
昨天终于改好了一个开源但是用起来有问题的串口调试助手,想把它打包一下以后在其他电脑上也可以用. 找了网上的一个教程打包后,在本机上可以正常使用,但是移植到另一台上就出现缺少xcb的提示. 上网搜资料倒 ...
- Ubuntu下使用linuxdeployqt打包Qt程序
写了点Qt界面程序,然而发现很难移植到其他没有安装Qt环境的电脑上运行.查资料了解到,在windows上有windeployqt程序,linux上有linuxdeployqt可以帮助我们快速打包. 1 ...
- Qt程序打包成exe可执行文件图文教程(图文并茂,且用到了filepack)
很多Qt爱好者想发布自己的Qt软件,但却发现在其他没有安装Qt SDK的机器上无法运行,这就是本文想要说明的问题.现在网上大部分软件都要发布自己开发的应用程序,都会打包到exe文件中,待安装完exe文 ...
- 【最详细最完整】在Linux 下如何打包免安装的QT程序?
在Linux 下如何打包免安装的QT程序? 版权声明:嵌入式linux相关的文章是我的学习笔记,基于Exynos 4412开发板,一部分内容是总结,一部分是查资料所得,大家可以自由转载,但请注明出处! ...
- 关于在windows下部署发布QT程序的总结
原文请看:http://www.cnblogs.com/javaexam2/archive/2011/05/18/2632916.html 关于在windows下部署发布QT程序的总结 2008-06 ...
- Qt程序打包成exe可执行文件
很多Qt爱好者想发布自己的Qt软件,但却发现在其他没有安装Qt SDK的机器上无法运行,这就是本文想要说明的问题.现在网上大部分软件都要发布自己开发的应用程序,都会打包到exe文件中,待安装完exe文 ...
- Linux打包免安装的Qt程序(编写导出依赖包的脚本copylib.sh,程序启动脚本MyApp.sh)
本文介绍如何打包Qt程序,使其在没有安装Qt的系统可以运行. 默认前提:另外一个系统和本系统是同一个系统版本. 1,编写导出依赖包的脚本copylib.sh #!/bin/bash LibDir=$P ...
- VS IDE环境下,windows GUI(Qt MFC,win32)使用控制台实时打印调试信息
在工程属性的页面下,点击Build Events,在Build Events下点击Post-Build Event. 然后再Command Line里面输入以下命令: editbin /SUBSYST ...
- Qt程序Windows部署前打包方法
1.需求 很多公司都在使用Qt作为GUI库,在开发者的计算机上通常是利用配置PATH环境变量来实现调用Qt的DLL.然而当把开发后的软件直接部署在顾客方,顾客的计算机上并没有Qt的bin目录,所以并不 ...
随机推荐
- C 字符串倒转,XCode中编译
正在学习ios开发,在前期学习c时,常规方法直接倒转数组的值,只能用于非中文字符,否则出现乱码, 在网上找了点资料,可能是 IDE不一致,一直得不到自己想要的值.花时间自己改了一下,正常通过 //字符 ...
- Multilingual App Toolkit v2.2 release
Multilingual App Toolkit v2.2 release Today we released Multilingual App Toolkit v2.2. This release ...
- 百度地图 - demo
项目需要集成百度地图,那么关于如何集成百度地图的事,就自己去百度开放平台查看文档吧,这是非常简单的事,在这里就不多说了. 那么下面我就说说我在这个demo里所做的事. 首先,项目需要具备定位及计算两地 ...
- jquery 滑动动画
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <head> ...
- Coursera《machine learning》--(6)逻辑回归
六 逻辑回归(Logistic Regression:LR) 逻辑回归(Logistic Regression, LR)模型其实仅在线性回归的基础上,套用了一个逻辑函数,但也就是由于这个逻辑函数,使得 ...
- (转载)Convolutional Neural Networks卷积神经网络
Convolutional Neural Networks卷积神经网络 Contents 一:前导 Back Propagation反向传播算法 网络结构 学习算法 二:Convolutional N ...
- hdu 1576 A/B 拓展欧几里得算法
A/B Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- Contest20140705 testB DP
testB 输入文件: testB.in 输出文件testB.out 时限2000ms 问题描述: 方师傅有两个由数字组成的串 a1,a2,⋯,an 和 b1,b2,⋯,bm.有一天,方师傅感到十分无 ...
- spring定时任务的配置使用
spring的定时任务配置分为三个步骤: 1.定义任务 2.任务执行策略配置 3.启动任务 1.定义任务 <!--要定时执行的方法--> <bean id="testTas ...
- Google+ 技巧四则
玩Google+也有一段时间了,尽管需要一些特殊的手段(比如修改hosts)才能访问,尽管存在不实名可能会被删除账户的风险,但不得不说,Google+ 的确“有点意思”.同时,看了很多关于Google ...