关于OpenGL和其他的调试错误

1.test dword ptr [eax],eax ; probe page.

错误提示:局部数组变量定义超过所分配的最大空间

错误原因:pfile=fopen(fileName,"rb");中的fileName为空,就是没找到文件。

解决方法:给fileName赋值

2.无法解析的外部符号(带__imp)

1>正在链接...
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewGetShaderInfoLog
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewGetShaderiv
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewGetProgramInfoLog
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewGetProgramiv
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewUseProgram
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewLinkProgram
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewAttachShader
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewCreateProgram
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewCompileShader
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewShaderSource
1>flatten.obj : error LNK2001: 无法解析的外部符号 __imp____glewCreateShader
1>flatten.obj : error LNK2019: 无法解析的外部符号 __imp__glewIsSupported,该符号在函数 _main 中被引用
1>flatten.obj : error LNK2019: 无法解析的外部符号 __imp__glewInit,该符号在函数 _main 中被引用

该错误是因为没有正确配置glew库,解决方法如下:

(1)按照:http://glew.sourceforge.net/install.html 所述方法正确安装glew库,如果已经正确安装请看下一种方法,以此类推

(2)在VS2008的“项目”菜单,点属性,打开属性对话框,在其中找到配置属性/链接器/输入,然后在右边找到附加依赖项,在其中输入glew32.lib。或者在程序前面加入

#pragma comment(lib,"glew32.lib")

 

(3)确保主函数中有glewInit();这个函数

3.无法解析的外部符号(不带__imp)

1>RenderDemo.obj : error LNK2001: 无法解析的外部符号 ___glewCompileShader
1>RenderDemo.obj : error LNK2001: 无法解析的外部符号 ___glewShaderSource
1>RenderDemo.obj : error LNK2001: 无法解析的外部符号 ___glewCreateShader
1>RenderDemo.obj : error LNK2001: 无法解析的外部符号 ___glewGetUniformLocation
1>RenderDemo.obj : error LNK2001: 无法解析的外部符号 ___glewLinkProgram
1>RenderDemo.obj : error LNK2001: 无法解析的外部符号 ___glewAttachShader
1>RenderDemo.obj : error LNK2001: 无法解析的外部符号 ___glewCreateProgram
1>RenderDemo.obj : error LNK2001: 无法解析的外部符号 ___glewFramebufferTexture2DEXT
1>RenderDemo.obj : error LNK2001: 无法解析的外部符号 ___glewBindFramebufferEXT
1>RenderDemo.obj : error LNK2001: 无法解析的外部符号 ___glewGenFramebuffersEXT
1>RenderDemo.obj : error LNK2001: 无法解析的外部符号 ___glewActiveTextureARB
1>RenderDemo.obj : error LNK2001: 无法解析的外部符号 ___glewUniform1fARB
1>RenderDemo.obj : error LNK2001: 无法解析的外部符号 ___glewUniform1iARB
1>RenderDemo.obj : error LNK2001: 无法解析的外部符号 ___glewUseProgramObjectARB

解决方法:去掉代码中的#define GLEW_STATIC一句

4.0xC0000005: 读取位置 0x00000000 时发生访问冲突

这个错误的原因一般是文件指针为空

解决方法:逐步调试找到错误语句,然后找到其中的指针变量,然后顺藤摸瓜,找到与这个变量有关的文件方面的赋值语句,一般错误就在那里。比如,vs = textFileRead("minimal.vert");中的文件minimal.vert文件不在项目根目录下

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值