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

被折叠的 条评论
为什么被折叠?



