windows下打包QT5.1程序

来源:互联网 发布:淘宝网商家中心 编辑:程序博客网 时间:2024/05/16 12:24

首先说下我的环境:

QT5.1+QT Creator2.8.1基本上是最新的平台。

我最近写了一个SMTP发送邮件的小程序,过段时间有空再把它贴出来。因为这个程序要放到别人机器上运行,所以我就想到了打包QT程序,网上搜到了大牛的博客,地址为Windows如何打包Qt程序。我就是按照他的教程做的,一共做过好几次,每次做到第一步没坚持下来,因为我用hap-depends打开我的release文件夹下的exe时提示缺少如下dll:



一开始以为这就6个dll嘛,简单,去qt5.1的安装目录下搜到这几个dll后拷到当前目录不就得了吗。但是当我把这些dll都拷到当前目录后,用hap-depends打开还是提示缺少dll,而且这次反而更多了。下面几个图都是:



我就奇怪了,一个小小的程序,怎么需要这么多动态链接库啊。而且里面类似API-MS-WIN-CORE-WINRT-L1-1-0.DLL的不明显是windows的dll吗,这样下去要找到猴年马月才能把所有dll都找打啊?

我是个性急的人,看着这么麻烦,到这就没有继续下去了。但是后来实在没办法又要完成这个任务,所有最后有一次还是决定坚持把这些dll都找出来。其实后来我发现,你只要把第二个图中的dll找到并放到当前目录下程序就可以正常运行了。而且只要找到树结构的最外层的dll,内层的很多dll我们是用不到的。



找到这些dll,然后放到当前目录下,原来的exe就可以执行了。

如果要对exe打包,则执行FilePacker v1.1.exe软件,根据Windows如何打包Qt程序这篇博文打包即可,需要提醒的是打包之前最好把FilePacker v1.1.exe软件破解一下,破解的方法很简单,就是运行同目录下的Keygen-1.1.exe软件,把邮箱地址和数字贴到FilePacker 软件中即可。