c++ - glGenTextures 段错误?

标签 c++ linux opengl segmentation-fault video-card

问题来了: 当我调用 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/

相关文章:

python - 如何使用 Python 和 Linux 捕获 HID 输入?

OpenGL 缓冲区、glFlush 和 glutSwapBuffers()

java - TextureAtlas 的优势以及如何正确使用它

c++ - c 到 delphi 的结构转换

c++ - 对类静态 constexpr 结构的 undefined reference ,g++ vs clang

c++ - OpenMP 并行化抑制矢量化

linux - 如何在 Linux 后台终止作业调度程序?

linux - 我想在发生错误时读取另一个内核

c++ - 如何让 LLDB 打印当前行

c# - OpenGL 函数 ChangeDisplaySettings (C++) 替代