Qt生成的release版的exe文件,要在其他没有安装Qt的电脑上运行,需要将依赖的dll文件一并打包拷贝过去,才能运行。
以前在网上看到类似的帖子,说得很复杂,甚至于还列举了各种检测依赖的软件,其实这个很简单,没那么复杂。我用偷懒的方法,直接将exe文件拷贝到没有Qt环境的电脑,双击运行,这时如果它缺少什么dll文件,它自己会提示你,然后依据它提示的信息,去Qt安装目录下搜索拷贝复制过来即可。我电脑上使用的默认安装路径:C:\Qt\Qt5.3.0\5.3\mingw482_32\bin。
不过一般说来,以下Qt模块是必须的:
1、Qt模块库
Qt5Core.dll
Qt5Gui.dll
Qt5Widgets.dll
2、ICU(International Component for Unicode,Unicode工具)依赖库
icudt52.dll
icuin52.dll
icuuc52.dll
3、mingw依赖库(msvc编译的则不需要)
libgcc_s_dw2-1.cll
libstdc++-6.dll
libwinpthread-1.dll
除此以外,还需要一个平台有关的dll,因为这里是windows系统,所以需要在exe所在目录下,新建一个文件夹platforms,然后将qwindows.dll拷贝到里面即可。
我这里做了一个检测下载文件的md5码的小工具,用这种方法打包,然后拷贝到没有Qt的win8.1系统下,运行正常!截图如下:
该应用程序exe所在目录:
以上dll文件,连同platforms里的dll文件,总共尺寸是44.4M。
------------------------------------------------------------------------------------------------------------------------
上述为一个基本的图形界面程序,没有其他多余的功能。
以下工程为P2P聊天工具,里面用到了一些其他模块,比如数据库、网络、多媒体等,所以根据提示,必须增添额外一些dll文件。所有用到的dll文件截图如下:
其中platforms文件夹下的文件同上,是qwindows.dll
imageformats包含:qgif.dll,qjpeg.dll
sqldrivers包含:qsqlite.dll
以上所有用到的dll文件尺寸总共是85.5M。