如何解决MFCO42D.dll 0xC0000005:Access Violation问题

一.问题的提出:
在甲电脑,就是笔者的电脑,程序可以正常运行;

但是在乙电脑,就是同事的电脑,程序运行却出现(MFCO42D.DLL):0xC0000005:Access Violation错误信息。

二.错误提示:
(MFCO42D.DLL):0xC0000005:Access Violation

三.程序死机所在行:
COleDropTarget::Register(pGridCtrl);

 

四.原因分析:
【Tools】--【Options】--【Directories】--【Show directories for:】

Library files选择的库是
C:/Program Files/Microsoft Visual Studio/VC98/MFC/LIB

Executable files

C:/WINDOWS/system32

在笔者的机器上,链接的是MFCO42D.DLL的6.0.8168.0版本

在同事的机器上,链接的是MFCO42D.DLL的6.0.8972.0版本

而笔者又将MFCO42D.DLL放到了笔者运行程序的Debug目录,注意:该库的版本的是6.0.8168.0版本。

程序每次运行的时候:就会首先从Debug目录查找MFCO42D.DLL动态链接库,加载运行。

在乙电脑上,编译的是MFCO42D.LIB的6.0.8972.0版本,而加载的是Debug目录下的6.0.8168.0版本的MFCO42D.DLL动态链接库,版本不匹配,故而运行出错。

 

五.甲乙电脑详细比较是:
比较项
 甲电脑
 乙电脑
 
MFCO42D.LIB的大小
 1,502,076bytes
 1,043,972bytes
 
MFCO42D.LIB的Created时间
 1998年6月17日, 0:00:00
 Friday,February 27,2004,12:00:00 AM
 
MFCO42D.DLL的大小
 798,773 bytes
 827,445 bytes
 
MFCO42D.DLL的版本号
 6.0.8168.0
 6.0.8972.0
 

六.解决方案:
1.将运行程序的Debug目录下的MFCO42D.DLL的文件删除掉;

2.让甲乙两台电脑的VC6开发环境一样,都是VC6+SP6补丁。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值