在win10上VS2019+Qt2.15.2调用VS2008生成的dll导致0xc0150002问题解决

文章讲述了在使用外部库生成exe文件时遇到的0xc0150002错误,通过注释代码、查看动态库依赖、计算机日志分析以及添加特定manifest来解决dll类型不匹配问题,同时推荐了Windbg和depends等工具辅助排查。

1、调用外部lib,可顺利生成exe执行文件

2、解决问题

2.1、注释相关代码

在代码中注释掉引用lib中的方法,其exe可正常执行。

2.2、放开注释,生成exe

代码引用了lib中的方法,可顺利生成exe执行文件。

2.2.1执行exe

双击后,报0xc0150002问题。

由此推断是外部引用的相关dll类型不匹配问题。

2.2.1.1查看动态库

dumpbin /headers xxx.dll

利用以上命令查看动态库是否为X86

dumpbin /dependents xxx.dll

利用以上命令查看动态库需要的依赖项

依次检查依赖动态库,逐个排除。

--------------------------------------最终问题解决------------------------------------------------

3、查看计算机日志

exe执行后,日志显示如下:

3.1添加缺失的VS2008的相关动态库

3.2添加动态库后仍有问题

exe路径下添加以上三个dll后,错误仍然存在。

**将Microsoft.VC90.DebugCRT.manifest添加exe路径下**

将Microsoft.VC90.DebugCRT.manifest中的version写成与计算机错误日志一致。

我的问题已解决。

4、解决问题过程中发现的查看依赖项软件

Windbg软件(X86、X64)

depends软件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值