一.使用单文件封包工具
单文件封包工具,顾名思义就是将可执行文件及其相关依赖打包成单个可执行文件的工具。
这里推荐两个单文件封包工具:Enigma Virtual Box和BoxedApp Packer,都是免费的,度娘有下载。
这两个工具操作方法类似,这里以Enigma Virtual Box为例,打包一个我写的一个Qt程序。
Qt程序的目录如下图所示,包括可执行文件及其依赖库。
打开Enigma Virtual Box,浏览封包的主程序,也就是上图中的DXManager.exe,如下图所示。
然后点击“打开”按钮,此时封包程序另存中会自动显示一个默认的路径,如下图中红框所示。这个路径就是封包完成后的单文件存储的路径。当然也可以不使用默认的路径,自己选择其他的路径,我这里使用默认路径。
点击右下角的“文件选项”按钮,打开“文件选项”窗口,并勾选其中的“压缩文件”,如下图中红框所示。压缩后的单文件会小得多,所以建议勾选。
点击左下角的“增加”按钮,开始增加文件,如下图所示。
需要注意的是这里只能增加文件,不能增加文件夹,如下图所示。
选中要增加的文件,点击“打开”按钮,会弹出“选择文件夹”串口,这里默认即可,如下图所示。
此时的效果如下图所示。
但是Qt程序目录中platforms文件夹里的dll还未添加,还是点击左下角的“增加”按钮,开始增加文件夹,如下图所示。
将文件夹命名为platforms,如下图所示。
还是点击左下角的“增加”按钮,往文件夹中添加文件,如下图所示。
这样所有文件都添加完了,如下图所示。
然后点击右下角的“执行封包”按钮,开始封包,如下图所示。
封包完成后,Qt程序目录多了一个DXManager_boxed.exe,它就是我们需要的单文件。如下图所示。
二.安装包的制作
使用单文件封包工具具有一定的局限性,当应用程序依赖第三方的.exe时,这种方法就不适用了。所以,当应用程序依赖第三方的.exe时,还是要将应用程序制作成安装包,在安装的过程中安装第三方的.exe。
安装包制作工具推荐火凤安装包制作工具(HofoSetup),后面不全了,被博客园吃掉了一部分。。。
http://blog.csdn.net/caoshangpa/article/details/53808627
Qt程序打包(使用Enigma Virtual Box和BoxedApp Packer封包)的更多相关文章
-
Qt 程序打包发布
Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,Qt 官方开发环境里自带了一个工具:windeployqt.exe.在Qt安装目录如:C:\Qt\Qt5.7. ...
-
【win】【qt5打包】【qt程序打包成一个可执行文件(带图标任何win都可以运行哦)】
[前言] 业务需求将qt程序打包成win可执行文件.咱是做linux的,奈何用的麒麟系统,程序运行在win,好嘛,重新在win qtcreator编译后打包呗. [目标] 1.给qt程序添加一个图标. ...
-
win环境下,用虚拟化工具打包Qt动态编译exe的过程(使用Enigma Virtual Box)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://goldlion.blog.51cto.com/4127613/834075 引子 ...
-
QT程序打包发布
本来感觉这是一个简单的操作,今天看见群里有人在问这个问题,他说网上查了很多都不成功,突然就想把自己初学的时候记录一下! 题目谢了QT程序的打包发布,那就是两步骤:打包+发布! 注释:这篇博文用的是Qt ...
-
Qt 程序打包发布总结
1. 概述 当我们用QT写好了一个软件,要把你的程序分享出去的时候,不可能把编译的目录拷贝给别人去运行.编译好的程序应该是一个主程序,加一些资源文件,再加一些动态链接库,高大上一些的还可以做一个安装 ...
-
Enigma Virtual Box:生成可执行文件。
Enigma Virtual Box Enigma Virtual Box[1] 是软件虚拟化工具,它可以将多个文件封装到应用程序主文件,从而制作成为单执行文件的绿色软件.它支持所有类型的文件格式, ...
-
ubuntu 环境下的QT程序打包
很多的时候 需要将自己写的QT 程序发布一下 所以今天教一下 怎么在ubuntu 环境下将自己的写的Qt 程序打包打包是为了不依赖 开发环境 和开发的库. 1. QtCreate使用Release版 ...
-
Qt程序打包,自动拷贝依赖文件
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt程序打包,自动拷贝依赖文件 本文地址:http://techieliang.com ...
-
Qt开发北斗定位系统融合百度地图API及Qt程序打包发布
Qt开发北斗定位系统融合百度地图API及Qt程序打包发布 1.上位机介绍 最近有个接了一个小型项目,内容很简单,就是解析北斗GPS的串口数据然后输出经纬度,但接过来觉得太简单,就发挥了主观能动性,增加 ...
随机推荐
-
Java——搭建自己的RESTful API服务器(SpringBoot、Groovy)
这又是一篇JavaWeb相关的博客,内容涉及: SpringBoot:微框架,提供快速构建服务的功能 SpringMVC:Struts的替代者 MyBatis:数据库操作库 Groovy:能与Java ...
-
Myeclipse出现 java文件中文乱码问题
一.将整个project设置编码UTF-8(UTF-8可以最大的支持国际化) windows->Preferences->general->Workspace->Text fi ...
-
asp.net MVC ajax上传文件
普通上传 view: <body> <form id="form1" method="post" action="@Url.Acti ...
-
通过百度地图API将百度坐标转换成GPS经纬度
百度地图API链接:http://developer.baidu.com/map/index.php?title=webapi/guide/changeposition 百度地图API中,有GPS坐标 ...
-
PAT-乙级-1047. 编程团体赛(20)
1047. 编程团体赛(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 编程团体赛的规则为:每个参赛队由若 ...
-
SQL技巧之行列转换
比如:id 姓名 状态 1 刘德华 12 刘德华 23 周华健 04 吴彦祖 1 在access中,用一条sql查询 ...
-
学习MongoDB 二:MongoDB加入、删除、改动
一.简单介绍 MongoDB是一个高性能.开源.无模式的文档型数据库,是当前NoSQL数据库产品中最热门的一种.数据被分组存储在数据集中,被称为一个集合(Collenction)和对于存储在Mongo ...
-
android控制控制的显示顺序
在android中假设首先在xml中静态加入了一个控件,剩下的控件都是通过addView动态加入.那么假设有控件覆盖的情况(比方说使用FrameLayout或者RelativeLayout),先加入得 ...
-
window下mysql数据备份
今天我有个朋友让我帮他在windowServer服务器上备份一下mysql的数据库,于是花了一天的时间完成了一个每天定时备份数据库的功能,小编在这里为大家记录一下: 首先对于mysql命令行的导入导出 ...
-
python跨行 print:多用(),换行符\要小心,少用+或者不用(其它程序代码跨行用\就行,不能用括号)
这两种是错的 # print '11' # 'tset3'#error # print '12' # +'tset4'#error python跨行用()和\都能实现.+只是连 ...