Qt--将Qt 动态链接生成的exe及依赖dll打包方法

Qt静态编译链接生成的exe文件,不需依赖dll,可以独立运行,发布很方便。

但绝大多数用的都是Qt开源版本,如果用静态链接,会有些限制。

方法之一,就是用动态编译,然后把exe和需要的dll整合成一个文件,问题就解决了。



具体步骤:
一、先动态编译链接,生成exe文件
二、找到依赖的dll文件

用Process Explore来获取所依赖的dll文件
下载: Process Explorer下载地址

打开procexp.exe,通过菜单【View】->【Lower Pane View】->【DLLs 】勾选,显示dll窗口


我们以secrecttext.exe为例,在Qt环境下,将exe运行起来,在Process Explor中,找到就可以找到secrecttext.exe,选中,在下面就看到依赖的dll了。


系统目录下的,一般不用关心,按Path排序,看Qt目录及mingw目录下的,将这些dll拷贝出来,单独放到一个目录下。


三、打包
打包工具,这里选用Enigma Virtual Box,
下载:Enigma Virtual Box下载地址

Enter Input File Name中,选择exe
Enter Output File Name,输出文件名称
点Add按钮,将前面准备好的dll文件,添加进来
点Files Options,勾选Enable Files Virtualization和Compress files,OK
最后,点Process。




最后把生成的文件和DLL放在一起,就可以运行啦!

原文地址:https://www.cnblogs.com/dyllove98/p/3180244.html