如何解决QT程序发布时的dll依赖问题

如何解决QT程序发布时的dll依赖问题,第1张

使用QT生成exe应用程序后,其中依赖很多QT中的DLL库,但是在生成exe的时候,这些DLL 并没有添加到exe目录,在很多时候,我们都自己手动去复制需要的DLL,难免不会造成少dll的情况或者在其他的电脑上用不起。今天发现在qt安装目录中发现Qt 官方开发环境里自带了一个工具:windeployqt.exe。可以自动把需要依赖的库文件都自动拷贝到exe目录中。

使用方法:

1.打开QT的命令行工具,

2:进入到你生成exe目录,你可以把生成的exe拷贝到新建的一个目录中,比如c:\text中。

使用命令:1. cd c:\text

2. windeployqt test.exe

然后你就可以看到你的目录中就有需要的dll和文件了,这时候你可以试试能否启动。

有时我们需要知道一个程序依赖哪些动态链接库(DLL)文件。实际上,有很多方法可以做到。下面就是三种实现方法:

1. 通过 Visual Studio 的 Dependency Walker 工具。进入 Visual Studio 的命令行(以Visual Studio 2005 为例,通过“开始-->所有程序-->Microsoft Visual Studio 2005-->Visual Studio Tools-->Visual Studio 2005 Command Prompt”

打开),输入"depends",回车,打开“Dependency Walker”。然后通过“File-->Open”打开要查询的程序文件,Dependency Walker就会显示该程序文件所依赖的DLL 文件。

2. 通过金山清理专家。安装金山清理专家,运行要检测的程序,然后打开金山清理专的安全百宝箱中的进程管理器,选中要检测的程序文件名,就选中“显示加载到进程中的DLL”,就可以看到该进程所调用的 DLL 文件。

3. 借助 IceSword 软件。先运行要检测的程序,然后打开 IceSword 软件,点击进程,找到要检测的程序,并右击该程序名,在d出的菜单中选择“模块信息”。这时,软件就会d出“进程模块信息”对话框,这里显示了程序所信赖的 DLL 文件。

参考来源: http://163n.blog.163.com/blog/static/5603555220113151113287/


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8098180.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存