很多Qt爱好者想发布自己的Qt软件,但却发现在其他没有安装Qt SDK的机器上无法运行,这就是本文想要说明的问题。现在网上大部分软件都要发布自己开发的应用程序,都会打包到exe文件中,待安装完exe文件后,就会生成很多小文件,其实原理都一样,只是各自使用的打包工具不能罢了。本文主要介绍在Windows平台如何打包自己的Qt程序,相对比较简单的,这并没有正规软件的向导流程。

在Windows系统中,要打包Qt程序,主要会用到3个工具包,分别是:

1.hap-depends    查看软件的依赖库(*.dll)

2. ASPack   动态链接库压缩软件

2.filepack    软件的打包工具

这三个在网上都有下载地址,本人在这里提供:

下载地址:

hap-depends + ASPackfilepack

本文以《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程序的更多相关文章

  1. Linux 打包QT程序到未安装QT的其他Linux主机下运行

    昨天终于改好了一个开源但是用起来有问题的串口调试助手,想把它打包一下以后在其他电脑上也可以用. 找了网上的一个教程打包后,在本机上可以正常使用,但是移植到另一台上就出现缺少xcb的提示. 上网搜资料倒 ...

  2. Ubuntu下使用linuxdeployqt打包Qt程序

    写了点Qt界面程序,然而发现很难移植到其他没有安装Qt环境的电脑上运行.查资料了解到,在windows上有windeployqt程序,linux上有linuxdeployqt可以帮助我们快速打包. 1 ...

  3. Qt程序打包成exe可执行文件图文教程(图文并茂,且用到了filepack)

    很多Qt爱好者想发布自己的Qt软件,但却发现在其他没有安装Qt SDK的机器上无法运行,这就是本文想要说明的问题.现在网上大部分软件都要发布自己开发的应用程序,都会打包到exe文件中,待安装完exe文 ...

  4. 【最详细最完整】在Linux 下如何打包免安装的QT程序?

    在Linux 下如何打包免安装的QT程序? 版权声明:嵌入式linux相关的文章是我的学习笔记,基于Exynos 4412开发板,一部分内容是总结,一部分是查资料所得,大家可以自由转载,但请注明出处! ...

  5. 关于在windows下部署发布QT程序的总结

    原文请看:http://www.cnblogs.com/javaexam2/archive/2011/05/18/2632916.html 关于在windows下部署发布QT程序的总结 2008-06 ...

  6. Qt程序打包成exe可执行文件

    很多Qt爱好者想发布自己的Qt软件,但却发现在其他没有安装Qt SDK的机器上无法运行,这就是本文想要说明的问题.现在网上大部分软件都要发布自己开发的应用程序,都会打包到exe文件中,待安装完exe文 ...

  7. Linux打包免安装的Qt程序(编写导出依赖包的脚本copylib.sh,程序启动脚本MyApp.sh)

    本文介绍如何打包Qt程序,使其在没有安装Qt的系统可以运行. 默认前提:另外一个系统和本系统是同一个系统版本. 1,编写导出依赖包的脚本copylib.sh #!/bin/bash LibDir=$P ...

  8. VS IDE环境下,windows GUI(Qt MFC,win32)使用控制台实时打印调试信息

    在工程属性的页面下,点击Build Events,在Build Events下点击Post-Build Event. 然后再Command Line里面输入以下命令: editbin /SUBSYST ...

  9. Qt程序Windows部署前打包方法

    1.需求 很多公司都在使用Qt作为GUI库,在开发者的计算机上通常是利用配置PATH环境变量来实现调用Qt的DLL.然而当把开发后的软件直接部署在顾客方,顾客的计算机上并没有Qt的bin目录,所以并不 ...

随机推荐

  1. ubuntu chm文档阅读

    四种方法在Ubuntu下查看CHM文件 来源:http://os.51cto.com/art/201108/287748.htm Ubuntu是一个以桌面应用为主的Linux操作系统,刚开始使用Ubu ...

  2. 用状态机STATE MACHINE实现有选择的文件转换

    用书上的例子实现在解析HTML文本时,对"<>"中的符号不进行字符转换. import sys import string from optparse import O ...

  3. 【HDU3081】Marriage Match II (二分+最大流)

    Description Presumably, you all have known the question of stable marriage match. A girl will choose ...

  4. 去大公司还是去小公司工作——要进大公司的核心部门(提升视野,锻炼技能),远离没真本事的小公司,要自我驱动 good

    去大公司还是小公司工作?这个问题问大多数 IT 人都会选择前者.如果换一个问法,去大公司还是去初创公司(Startup)工作?或许有极小一部分人能改变一下决定 对于 IT 人来说,选择到大公司工作的理 ...

  5. JavaScript如何获取css属性

    原文:JavaScript如何获取css属性 在web开发中,很多时候我们需要用JavaScript对网页的样式进行修改,接下来,我们就来看一下我们该如何访问css属性,针对不同情况及案例来进行分析. ...

  6. Tomcat7+Redis存储Session(转)

    PS:截止到2015-05-12前是不支持Tomcat8的,详情见官网:https://github.com/jcoleman/tomcat-redis-session-manager 前提:你已经部 ...

  7. Android开源项目发现--- 工具类依赖注入DI篇(持续更新)

    通过依赖注入减少View.服务.资源简化初始化,事件绑定等重复繁琐工作 1. AndroidAnnotations(Code Diet) android快速开发框架 项目地址:https://gith ...

  8. android 上传图片到服务器Tomcat(Struts2)

    在做android开发的时候,有时你会用到图片的上传功能,在我的android项目中,我是选中图片,点击上传多张图片 android客户端上传图片部分的代码如下: package com.exampl ...

  9. Git标签管理

    一般我们发布一个新版本到线上服务器时都会在版本库中打一个标签,这时就确定了某个版本将发布到线上.我们可以随时可以查看这个打标签的版本,也就 是说标签其实呢,就是版本库中一个快照.简单说标签就是指向某个 ...

  10. ​? super T ? extends T

    ​? super T ?保存的是  T类型或者T类型的父类 ​ ? extends T ?保存的是  T类型或者T类型的子类