0xC0000005: 写入位置 0x00000014 时发生访问冲突

在用vs 2005写一个MFC+OpenGL的程序,为了增强对整个项目引用的控制,我将所有与opengl有关的部分直接放在了项目下,而不是VC 下属的include, lib目录中。其中包括三个gl的头文件。


之后,不知为何Debug版本运行一直报错 0x7774224d 处未处理的异常:

 0xC0000005: 写入位置 0x00000014 时发生访问冲突

反汇编追踪到:7774224D  inc         dword ptr [eax+14h] 


一旦出现,还可能导致其他项目debug版本也无法运行。但是Release版本一直正常。然后我就暂时没管,之后release版本调试程序非常不方便,只能硬着头皮解决。


网上查到,可能是文件路径变更导致的。反复查看读写文件部分无错,怀疑是头文件引发的。我喜欢备份项目之后,用当前日期fork新版本,前几个版本用着一直没事(可能是还没用到opengl),之后突然就出现了上述错误╭(╯^╰)╮。一直报错,没法继续写。

试过,(1)将“gl/glXX.h”改为“./gl/glXX.h”,(2)将glXX.h直接放在项目目录,去掉gl文件夹,均无果。

继续尝试,将opengl的lib文件全部从项目去掉,然后直接包含VC/include中的glXX.h文件,再来添加opengl的lib文件,编译debug版本能运行。

具体原因还不太清楚额,可能是项目变更了位置或者名字,vs2005链接时链接文件和之前不一致导致的吗??vs2010就没这样的错误。有空再好好研究


你可能感兴趣的:(应用程序,VS2005)