1

我在 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
4

2 回答 2

2

您正在调用错误的函数。你想要的是

glewGetErrorString(res);

看起来您现在正在获取版本号。

于 2013-05-26T08:05:18.310 回答
1

根据GLEW 使用页面:

首先,您需要创建一个有效的 OpenGL 渲染上下文并调用 glewInit() 来初始化扩展入口点。

几乎所有与 OpenGL 相关的东西都需要您从上下文开始。上述页面上的示例使用GLUT来获取上下文,但还有其他方法可以做到这一点。

关于您的错误代码,@mwerschy 是正确的,您应该使用glewGetErrorString(res);而不是glewGetString(res)返回 GLEW 的版本。

于 2015-10-23T15:31:54.940 回答