为什么我会收到这些错误?
error: 'GL_VERTEX_SHADER' was not declared in this scope
error: 'glCreateShader' was not declared in this scope
代码:
GLuint vs = glCreateShader(GL_VERTEX_SHADER);
是的,我确实有多余的东西。
原文由 Daniel says Reinstate Monica 发布,翻译遵循 CC BY-SA 4.0 许可协议
glGetString(GL_VERSION)
返回什么?CreateShader
不在 GLUT 中,而是在 OpenGL 2.0 中。如果您的“包含过剩”由于某种原因不包括gl.h
或者您的 GL 版本小于 2.0,则标头不会声明它。我还会检查您的
gl.h
以查看CreateShader
是否真的在那里声明。编辑:这个 OpenGL 标头版本的东西似乎是 Windows 中的一个普遍问题。大多数人建议使用 GLEW 或其他扩展加载程序库来解决它。