Qt静态编译链接生成的exe文件,不需依赖dll,可以独立运行,发布很方便。
但绝大多数用的都是Qt开源版本,如果用静态链接,会有些限制。
方法之一,就是用动态编译,然后把exe和需要的dll整合成一个文件,问题就解决了。
@H_403_6@ @H_403_6@ 具体步骤: @H_403_6@ 一、先动态编译链接,生成exe文件@H_403_6@ 二、找到依赖的dll文件 @H_403_6@ 用Process Explore来获取所依赖的dll文件 @H_403_6@ 下载: Process Explorer下载地址 @H_403_6@打开procexp.exe,通过菜单【View】->【Lower Pane View】->【DLLs 】勾选,显示dll窗口
@H_403_6@
我们以secrecttext.exe为例,在Qt环境下,将exe运行起来,在Process Explor中,找到就可以找到secrecttext.exe,选中,在下面就看到依赖的dll了。@H_403_6@
@H_403_6@
系统目录下的,一般不用关心,按Path排序,看Qt目录及mingw目录下的,将这些dll拷贝出来,单独放到一个目录下。@H_403_6@
@H_403_6@
三、打包@H_403_6@ 打包工具,这里选用Enigma Virtual Box,@H_403_6@ 下载:Enigma Virtual Box下载地址@H_403_6@
Enter Input File Name中,选择exe@H_403_6@ Enter Output File Name,输出文件名称@H_403_6@ 点Add按钮,将前面准备好的dll文件,添加进来@H_403_6@ 点Files Options,勾选Enable Files Virtualization和Compress files,OK@H_403_6@ 最后,点Process。@H_403_6@
@H_403_6@