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

如何解决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.DLL6.0.8168.0版本

在同事的机器上,链接的是MFCO42D.DLL6.0.8972.0版本

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

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

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

 

五.甲乙电脑详细比较是:

比较项

甲电脑

乙电脑

MFCO42D.LIB的大小

1,502,076bytes

1,043,972bytes

MFCO42D.LIBCreated时间

1998617, 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补丁。

上一篇:局域网内手机播放视频


下一篇:代替数据库的自增主键的解决方案,解决了批量导数据ID出错的问题