基于QT应用程序打包成可执行程序exe

众所周知QT编译好的应用程序依赖很多动态链接库,不能方便的在其他PC上使用。这里介绍QT5版本的应用程序打包成可执行EXE的方法。

首先把QT应用程序项目编译成Release版本,而不是Debug版本。Debug版本包括很多的调试信息,所以要比大很多,相对Debug来说Release运行效率也就高一些。

为了方便,在工程release文件夹下拷贝出编译好的.exe文件,另建一个文件夹,按WIN+R快捷键启动CMD命令进入此文件夹,用QT自带的windeployqt.exe工具双击运行后,依赖的dll就自动拷贝到这个exe文件夹下面了。如下图:

基于QT应用程序打包成可执行程序exe

提示使用windeployqt.exe工具需要提前设置系统环境变量,在path加入编译路径,比如我的QT安装目录下:D:\\QT5.3\\5.3\\mingw482_32\\bin。在exe文件夹下看到各种编译链接库,如下图:

基于QT应用程序打包成可执行程序exe

这里介绍一下各种动态依赖库的作用:

a.icu库(实现UNICODE编码支持,跟版本保持一致)

基于QT应用程序打包成可执行程序exe

b.mingw编译依赖库

基于QT应用程序打包成可执行程序exe

c.各种核心类模块库:

基于QT应用程序打包成可执行程序exe

如果用到其他第三方程序库,还需要添加其他的链接库。接下来进行文件打包,用Enigma Virtual Box软件进行文件打包。如下图:

基于QT应用程序打包成可执行程序exe

接下来进行文件压缩打包,操作如下图:

基于QT应用程序打包成可执行程序exe

等待执行完,点击运行就可以运行生成打包好的可执行EXE文件了,可在其他PC上使用,经测试可用。

基于QT应用程序打包成可执行程序exe

这是打包成可执行文件的方法,还有打包成安装包文件的方法,个人感觉安装太麻烦,如果是比较小的应用程序不如一个可执行文件方便使用。


分享到:


相關文章: