问题来了: 当我调用 glGenTextures 时出现段错误。
我在 linux 上,这是我目前用来调查这个的代码:
#include <iostream>
#include <SDL/SDL.h>
#include <GL/gl.h>
#include <GL/glu.h>
int main(int argc, char *argv[])
{
GLuint texture;
glGenTextures( 1, &texture );
return texture;
}
看起来很简单,对吧? 嗯,我用 GDB(GNU 调试工具)跟踪了段错误,当我在文件 /usr/lib/mesa/libGL.so.1< 中调用 glGenTextures() 时,它发生了/em>.
那是我的视频驱动程序的 openGL 代码...
有什么想法吗?
最佳答案
所示代码未设置有效的 OpenGL context。 , 所以它不能使用 OpenGL。
如何做到这一点因平台而异。如果您不想深入了解目标平台的执行方式,您可以使用类似 GLFW 的方式。相当便携地做到这一点,但当然会增加依赖性。
关于c++ - glGenTextures 段错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13194846/