Qt程序打包成exe可执行文件
很多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目录,拷贝到这里也文件夹名称必须保持一致。plugins/platforms
9.程序启动,拷贝到其他电脑也可以正常运行了。
10.这是在压缩dll文件,大部分是可以,但有些会失败,所以在发布时,必须在多台电脑测试,从截图可以看到,原来的文件变成了以.bak结尾的,大小相差挺大。当然这一部不是必须的,因为后面的打包工具就可以压缩文件了。
11.开始打包Qt程序
12.这工具很简单,下一步就行,然后选择程序对应的目录。
13.选择要打包的可执行文件。
14.设置
15.变量列表:指该打包后的程序被打开时,将文件解压到什么位置,这可以选择不同的变量来看看结果,一般程序都是放到临时目录,所以就选择 "*Tempdir*"。可执行文件的输出目录随便都行,打包完后拷贝出来即可。默认即可
16.
17.创建
18.封包成功
19.打完包后,程序有8.03MB,如果太大,打包,不然每次执行都会重新解压,影响速度。
还有其他比较高级,比较复杂的程序打包工具,那些工具等以后要用到再去摸索。以上几个工具包都不需要积分,大家可以无限下载。
Qt程序打包成exe可执行文件的更多相关文章
- Qt程序打包成exe可执行文件图文教程(图文并茂,且用到了filepack)
很多Qt爱好者想发布自己的Qt软件,但却发现在其他没有安装Qt SDK的机器上无法运行,这就是本文想要说明的问题.现在网上大部分软件都要发布自己开发的应用程序,都会打包到exe文件中,待安装完exe文 ...
- Java桌面程序打包成exe可执行文件
前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...
- Java程序打包成exe可执行文件
前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...
- Python 程序打包成 exe 可执行文件
Python 程序打包工具 Python 是一个脚本语言,被解释器解释执行.它的发布方式: .py 文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装 Python 并且安装依赖 ...
- 【win】【qt5打包】【qt程序打包成一个可执行文件(带图标任何win都可以运行哦)】
[前言] 业务需求将qt程序打包成win可执行文件.咱是做linux的,奈何用的麒麟系统,程序运行在win,好嘛,重新在win qtcreator编译后打包呗. [目标] 1.给qt程序添加一个图标. ...
- python + pyinstaller 实现将python程序打包成exe文件直接运行
pyinstaller 我们在平常学习使用python的时候经常会自己编写一些小程序来使用,虽然python是跨平台的语言,但是如果我们想要在一个没有python以及很多库环境的电脑上使用我们的小程序 ...
- PyQt(Python+Qt)学习随笔:windows下使用pyinstaller将PyQt文件打包成exe可执行文件
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 在<windows下使用pyinstaller将多个目录的Pyt ...
- 如何把py文件打包成exe可执行文件
如何把py文件打包成exe可执行文件 1.安装 pip install pyinstaller 或者 pip install -i https://pypi.douban.com/simple pyi ...
- 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片)
解决 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片) 1.当我们写了一个Python的项目时,特别是一个GUI项目,我们特备希望它能成为一个在Windows系统可执行的EXE文件 ...
随机推荐
- Hive不同文件的读取与序列化
Hive不同文件的读取对照 stored as textfile 直接查看hdfs hadoop fs -text hive> create table test_txt(name string ...
- HDOJ 4944 FSF’s game
http://blog.csdn.net/keshuai19940722/article/details/38519681 不明真相的补一发... FSF's game Time Limit: 900 ...
- 杭电1018-Big Number(大数)
Big Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- webRequest
chrome.webRequest 描述: 使用 chrome.webRequest API 监控与分析流量,还可以实时地拦截.阻止或修改请求. 可用版本: 从 Chrome 17 开始支持. 权 ...
- java基础——transient
今天在看struts1源代码的时候,发如今ActionForm中首先声明了两个transient类型的protected变量. 之前没有接触过该transient类型,所以就查了查. transien ...
- java中字符串编码转换
Java 正确的做字符串编码转换 字符串的内部表示? 字符串在java中统一用unicode表示( 即utf-16 LE) , 对于 String s = "你好哦!"; 如果源码 ...
- java多线程 interrupt(), interrupted(), isInterrupted()方法区别
interrupt()方法: 作用是中断线程. 本线程中断自身是被允许的,且"中断标记"设置为true 其它线程调用本线程的interrupt()方法时,会通过checkAcces ...
- centos + nodejs + egg2.x 开发微信分享功能
本文章发到掘金上,请移步阅读: https://juejin.im/post/5cf10b02e51d45778f076ccd
- Mac 安装cmake小问题
今天用 brew install cmake. ==> Downloading https://homebrew.bintray.com/bottles/cmake-3.9.6.sierra.b ...
- Re:从 0 开始的微服务架构--(四)如何保障微服务架构下的数据一致性--转
原文地址:http://mp.weixin.qq.com/s/eXvoJew3bjFKzLLJpS0Otg 随着微服务架构的推广,越来越多的公司采用微服务架构来构建自己的业务平台.就像前边的文章说的, ...