转载:http://www.qtcn.org/bbs/apps.php?q=diary&a=detail&did=1336&uid=123401
Qt静态编译链接生成的exe文件,不需依赖一堆dll,可以独立运行,发布很方便。但绝大多数用的都是Qt开源版本,如果用静态链接,会有些限制。那有没有办法即能享受静态编译的方便,又不受开源许可的限制呢?方法之一,就是用动态编译,然后把exe和需要的dll整合成一个文件,问题就解决了。 具体步骤: 一,先动态编译链接,生成exe文件 二,找到依赖的dll文件 这里,我们可以用Process Explore来获取所依赖的dll文件 下载: http://pan.baidu.com/share/link?shareid=1820917417&uk=673227135 打开procexp.exe,通过菜单View==》Lower Pane View==》DLLs勾选,显示dll窗口 这里,我们以test.exe为例, 在Qt环境下,将exe运行起来,在ProcessExplor中,找到就可以找到test.exe,选中,在下面就看到依赖的dll了。 系统目录下的,一般不用关心,按Path排序,看Qt目录及mingw目录下的,将这些dll拷贝出来,单独放到一个目录下。 三,打包 打包工具,这里选用Enigma Virtual Box, http://pan.baidu.com/share/link?shareid=1837762045&uk=673227135 安装,运行 Enter Input File Name中,选择exe Enter Output File Name,输出文件名称 点Add按钮,将前面准备好的dll文件,添加进来 点Files Options,勾选Enable Files Virtualization和Compress files,OK 最后,点Process,大告成。打包生成的exe文件也可以象静态编译的一样,可以独立运行了。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|