关于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文件不在项目根目录下

你可能感兴趣的:(图形图像处理opengl4.3,opengl)