全部博文(584)
分类: WINDOWS
2011-04-16 19:48:06
Qt发布程序有两种方式,静态编译和动态编译。静态编译操作繁琐,东拉西扯要N长时间,所以我选择的是动态发布,动态发布有个缺点,就是要附加多个dll文件,传输极为不便,如果能搞成单文件就比较爽了。
本文就是讲述如何将多个文件打包成一个exe文件。
当然,你首先要将Qt编译设置成Release模式,将Release文件夹中的exe文件拷贝出来,并用微软的Dependency Walker查看该exe文件需要哪些dll(需要在完全没有装QT的系统上测试发布的程序有没有DLL依赖问题),并将其拷贝出来,将所有文件都放在同一个文件夹。搞定这些之后,就可以开始文件打包了。
文件夹打包需要几个软件,下面将一一讲述。
1、ASPACK
Qt本身所带的dll文件比较大,可以先用ASPACK压缩一下。mingwm10.dll,QtCore4.dll,libgcc_s_dw2-1.dll,QtGui4.dll等dll文件经过ASPACK压缩后可从十多M变为5M左右,大大降低了程序大小。
2、FilePacker
此软件可以从网上搜索下载。
按照提示,用这个软件一步步即可。可设置解包后运行文件,如图所示。
然后点下一步,使用默认设置即可。
在设置临时解压路径的时候需要注意一下,最好是设置在临时文件夹,这样重启电脑后,这些解压的文件就自动删除了。如下图所示。
唯一美中不足的就是自定义图标必须是32*32大小,256色。当然,你可以找个ico图标编辑软件,编辑之后使之满足条件即可。
软件打包后就可以发布了。
还有个软件MoleBox也可以将文件夹打包,但是这个软件不能自定义图标,所以用起来就不爽了。
文件夹打包从根本上来讲应该就是压缩文件,这种压缩文件解压后能够自动运行压缩包中的文件,当然用WinRAR也能实现上述功能,只不过FilePacker操作更为简单,傻瓜式操作。打包后的exe文件,点右键时,很明显的看到能够用WinRAR操作。因此,文件很多的时候可能会打开较慢(文件多,解压时间长)。
以上提到的软件都是绿色软件。若您在网上没找到,请发邮件到 来索取。