我在Linux上运行一些OpenGL程序。无法理解为什么我在初始化glew时收到错误。 (错误1.5.2)
#include <GL/glew.h>
#include <GL/gl.h>
#include <stdio.h>
int main()
{
glewExperimental=GL_TRUE;
GLenum res = glewInit();
if(res != GLEW_OK)
{
fprintf(stderr, "Error: '%s'\n", glewGetString(res));
return 1;
}
return 0;
}
由以下人员运行:
g++ 1.cpp -lGLEW
答案 0 :(得分:2)
您正在调用错误的函数。你想要的是
glewGetErrorString(res);
看起来您现在正在获取版本号。
答案 1 :(得分:1)
根据GLEW Usage页面:
首先,您需要创建一个有效的OpenGL渲染上下文并调用glewInit()来初始化扩展入口点。
几乎所有与OpenGL相关的内容都要求您从上下文开始。上述页面上的示例使用GLUT来获取上下文,但还有其他方法可以实现。
关于你的错误代码,@ mwerschy是正确的,你应该使用glewGetErrorString(res);
而不是glewGetString(res)
,它返回GLEW的版本。