Qt静态编译链接生成的exe文件,不需依赖一堆dll,可以独立运行,发布很方便。但绝大多数用的
Qt都是开源版本,如果用静态链接会有些限制。那有没有办法既能享受静态编译的方便,又不受开源许可的限制呢?方法之一,就是用动态编译,然后把exe和需要的dll整合成一个文件问题就解决了。
具体步骤: 一、先动态编译链接,生成ManualSignature.exe文件 二、找到依赖的dll文件 这里,我们可以用Process Explore来获取所依赖的dll文件 网上下载 procexp软件,打开procexp.exe,通过菜单视图-->显示下排窗口--> 勾选DLLs,显示DLL窗口 这里,我们以ManualSignature.exe为例, 在Qt环境下,将ManualSignature.exe运行起来,在ProcessExplor中,找到就可以找到ManualSignature.exe,选中,在下面就看到依赖的dll了。 系统目录下的一般不用关心,按Path排序看Qt目录及mingw目录下的,将这些dll拷贝出来单独放到一个目录下。 三、打包 打包工具,这里选用Enigma Virtual Box,网上下载Enigma Virtual Box,安装,运行
Enter Input File Name中,选择
ManualSignature.exe
Enter Output File Name,输出文件名称,,点Add按钮,将前面准备好的dll文件,添加进来 点Files Options,勾选Enable Files Virtualization和Compress files,OK 最后,点Process,大功告成。打包生成的exe文件也可以象静态编译的一样,可以独立运行了。 |
将Qt 动态链接生成的exe及依赖dll打包方法
最新推荐文章于 2024-06-16 20:35:42 发布