“glCreateShader”在此范围内未声明?('glCreateShader'

2019-06-27 01:28发布

为什么会出现这些错误?

错误:“GL_VERTEX_SHADER”在此范围内未声明
错误:“glCreateShader”在此范围内未声明

码:

GLuint vs = glCreateShader(GL_VERTEX_SHADER);

是的,我也有包括对过剩。

Answer 1:

什么glGetString(GL_VERSION)的回报?

CreateShader不GLUT但OpenGL的2.0。 如果你的“包括对过剩”并不包括gl.h出于某种原因或您的GL版本低于2.0,头部不会宣布它。

我还检查您的gl.h ,看看是否CreateShader实际上是宣告那里。

编辑:这OpenGL头版本一点似乎是Windows的一个普遍问题。 大多数人建议使用GLEW或其他扩展装载库绕过它。



Answer 2:

您需要或者使用的OpenGL的加载库加载OpenGL函数,或自己手动加载功能 。 你不能只用gl.h ,并期望得到的一切。



文章来源: 'glCreateShader' was not declared in this scope?