vs2005 调用vs2008写的动态库时(C++),可以编译通过,在release模式可以正常运行,但是在debug模式运行异常,弹出异常对话框,提示“应用程序正常初始化(oxc0150002)”失败,请单击“确定”,终止应用程序。然后再调试输出信息中查看得到如下信息:LDR: LdrpWalkImportDescriptor() failed to probe F:\......\libpng.dll for its manifest, ntstatus 0xc0150002
调试器:: 在进程加载过程中引发了未处理的无法继续的异常 程序“[1964] Helloworld-win32.exe: 本机”已退出,返回值为 -1072365566 (0xc0150002)。
以下解决办法可以参考 :
1、用UE打开动态库。
2、打开查找对话框,输入查找内容 6e 61 6d 65 如果查找到如下内容
“name="Microsoft.VC90.DebugCRT"version="9.0.21022.8"”
这里的name值说明编译该DLL是使用的VC9.0而且还是Debug版本的,而version值则是一个版本号。
3、Microsoft.VC90.DebugCRT包中其实包括四个动态库,只要网上下载这四个动态库(CSDN里就有,我就是这里下的可以用)和那个动态放置在一个目录就可以。
以上方法,也可用于VS2010、VS2008调用动态库异常时。