打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VS2005生成DLL的调用
userphoto

2012.08.07

关注

      今天在给客户测试系统的时候,刚开始VC6写的EXE程序调用VS2005生成的DLL,没有问题,程序正常运行,当程序拿给专门的测试组做测试时,问题出现了,在干净的机器上运行程序时,程序异常,loadlibrary()失败,错误代码为14001,奇怪了,在其他机器上运行都挺好的,在刚装系统的机器上运行出问题了,赶紧做了干净的系统,运行,问题重现了。第一反应,肯定是缺少了什么问题了,可是用DEPENDS查看VS2005生成的dll的依赖项,缺少msvcr80.dll,马上复制过来,发现运行依旧。肯定是VS2005生成dll的时候,依赖某些项,回想起来,在用VS2005的生成应用程序安装的时候,需要安装Microsoft Visual C++ 2005 SP1 Redistributable Package (x86),包含了VS2005程序运行的一些dll和相应的manifest文件,安装之后,程序运行正常了。

      另外,可以先查看生成的DLL的manifest文件,可以看到其中的依赖项,比如Microsoft.VC80.CRT以及相应的版本,可以在Windows的WinSxs找到相应的DLL和对应Manifests文件夹下的manifest文件复制到目标机器WinSxs文件夹对应的地方,运行程序即可。出现这个问题,就想到实验室的程序虽然可能技术上行通了,但是还是有很多问题需要解决,需要通过不断地测试,发现问题,积累经验。


(###)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VS2005 没有找到MFC80D.DLL的解决方法
何勇的日志
感悟.Net的版本问题
manifest原理和用途
MFC 没有找到MFC80D.DLL的解决方法
VS2008环境下开发的某些程序在其他机器运行提示“由于应用程序配置不正确,应用程序未能启动”的问题(IIS)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服