【C/C++】项目落地过程中,如何发现并补充缺失的依赖项

本文介绍了在C/C++项目中遇到动态库调用失败时,如何通过depends工具和VS2019命令提示符找出缺失依赖项的两种实用方法,以帮助开发者定位并解决问题。
摘要由CSDN通过智能技术生成

       在工作中,领导让你负责某一项目的开发,你几经周折完成了开发,但在项目落地的过程中,你发现第三方总是不能成功地调用你提供的动态库。假如这是由你提供的动态库相关的依赖项缺失所导致的,那么我们该如何去确定缺失的是那些依赖项呢。下面这篇文章将介绍两个寻找缺失依赖项的方法。    

举例说明

         以文章(【C/C++】如何通过一个动态库来调用另一个动态库)中的工程为例子。该工程各项调用的逻辑是:test.exe调用test_dll.dll,test_dll.dll再调用test_Dll2.dll,test_Dll2.dll打印“ok_ok123456789”字符串。正常时,点击test.exe控制台窗口会显示:ok_ok123456789。若将test_Dll2.dll改成test_Dll2000.dll后,test.exe调用test_dll.dll失败。test_Dll2.dll被修改后,test_dll.dll找不到该依赖项,因此导致test.exe调用test_dll.dll失败。那么问题就来了,如果我们知道某动态库是因为缺失依赖项而不能成功被调用。这时,该如何确定缺失的依赖项是那些呢,后文将介绍两个用于确定缺失那些依赖项的方法。

方法一:通过“depends”工具发现缺失的依赖项

         这个方案需要你下载一个“depends.exe”工具。以文章(【C/C++】如何通过一个动态库来调用另一个动态库)中的工程为例子。具体操作:用该工具打开你要测试的dll文件,然后找到红色框的地方(下图所示),字体显示红色的,其对应的dll文件可能就是缺失的文件,最后将缺失的文件补充即可。该工具可以在我的“资源”里面下载。

 

方法二:通过“命令提示符窗口”发现缺失的依赖项

         这个方案的前提是已经安装了vs2019,操作:在命令提示符窗口中,进入 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x86,再采用此命令:dumpbin  -imports  +dll所在路径+dll名称。如下图所示:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

砥锷磨志

你的鼓励将是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值