当前位置:首页 > 技术心得 > 正文内容

Qt打包发布程序

xjtudll17年前 (2010-03-31)技术心得75110

Qt发布程序有两种方式,静态编译和动态编译。静态编译操作繁琐,东拉西扯要N长时间,所以我选择的是动态发布,动态发布有个缺点,就是要附加多个dll文件,传输极为不便,如果能搞成单文件就比较爽了。

本文就是讲述如何将多个文件打包成一个exe文件。

当然,你首先要将Qt编译设置成Release模式,将Release文件夹中的exe文件拷贝出来,并用微软的Dependency Walker查看该exe文件需要哪些dll需要在完全没有装QT的系统上测试发布的程序有没有DLL依赖问题),并将其拷贝出来,将所有文件都放在同一个文件夹。搞定这些之后,就可以开始文件打包了。

文件夹打包需要几个软件,下面将一一讲述。

1ASPACK

Qt本身所带的dll文件比较大,可以先用ASPACK压缩一下。mingwm10.dllQtCore4.dlllibgcc_s_dw2-1.dllQtGui4.dlldll文件经过ASPACK压缩后可从十多M变为5M左右,大大降低了程序大小。
   

2FilePacker

此软件可以从网上搜索下载。
  

 

按照提示,用这个软件一步步即可。可设置解包后运行文件,如图所示。

 



    然后点下一步,使用默认设置即可。

在设置临时解压路径的时候需要注意一下,最好是设置在临时文件夹,这样重启电脑后,这些解压的文件就自动删除了。如下图所示。
   
   

  

唯一美中不足的就是自定义图标必须32*32大小,256色。当然,你可以找个ico图标编辑软件,编辑之后使之满足条件即可。

软件打包后就可以发布了。

还有个软件MoleBox也可以将文件夹打包,但是这个软件不能自定义图标,所以用起来就不爽了。

文件夹打包从根本上来讲应该就是压缩文件,这种压缩文件解压后能够自动运行压缩包中的文件,当然用WinRAR也能实现上述功能,只不过FilePacker操作更为简单,傻瓜式操作。打包后的exe文件,点右键时,很明显的看到能够用WinRAR操作。因此,文件很多的时候可能会打开较慢(文件多,解压时间长)。

以上提到的软件都是绿色软件。

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/63/

标签: Qt
分享给朋友:

“Qt打包发布程序” 的相关文章

如何判断一个正整数是不是2的幂

估计用递归的方法大家都知道,就不赘述了 这里使用一个更简单的方法。 若一个正整数是2的幂,则这个数在计算中的表示肯定是以下形式:0x00...1000...B省略号表示若干个0.问题就转变为一个等价的命题:如何判断给定的一个正整数是如0x00...1000...B这种形式(二进制表示式中只有唯一...

湿度对电子元器件的影响

潮湿气候对电子元器件有啥影响?网上有说: 1、使绝缘材料性能降低 2、使金属器件锈蚀 3、使润滑剂变质 这些听起来虚虚的,没有直观的概念与感受。我这里说一个最近碰到的问题。 背景:OTP IC(手表用),开窗(未完全封胶),便于用紫外线擦除程序,重复利用OTP IC。近期广东“回南天&r...

TM87&TM89文件组织架构

TM87&TM89文件组织架构

一、工程文件TM87,TM89系列每个工程至少包含以下文件:文件后缀名作用PRJ工程组织文件ASM汇编代码文件CC代码文件(仅适用于TM89系列)INC汇编头文件HC头文件(仅适用于TM89系列)LCDLCD配置文件,含仿真信息CFGLCD SEG,COM配置文件OPTMask Option文件OB...

如何去掉页眉的表格后的回车

如何去掉页眉的表格后的回车

原文链接:http://club.excelhome.net/forum.php?mod=viewthread&tid=901578&highlight=&jdfwkey=piezu 想在页眉里加入一个表格,但是加入表格后,表格后多了一行回车,导致页眉与正文之间有较大的间距,...

金蝶 KFO.Dictionary 怎么写

.Net 调用,以C#为例,调用如下: 1、添加kfo.dll的引用。 2、调用方法 KFO.Dictionary dct=new KFO.Dictionary(); dct.let_value("FInteID",100);...

C# 百分号格式化 保持原数不变

C# 百分号格式化 保持原数不变

C# 格式化数字 百分号 需求: 格式化数值为百分比 但是保持输入的数值不变 也就是不要C# 自带的格式化百分数 因为他会自动*100 再加上百分号 解决方案: % 外面套一层 ‘ ’Code var column = this.gridViewItemDet...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。