Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ glGenFramebuffers中的Segfault_C++_Opengl_Ubuntu_Glew - Fatal编程技术网

C++ glGenFramebuffers中的Segfault

C++ glGenFramebuffers中的Segfault,c++,opengl,ubuntu,glew,C++,Opengl,Ubuntu,Glew,我有很多毛病,不知道为什么。与我一起工作的人可以在OSX机器上正确编译和运行。gdb backtrace告诉我它来自这段代码,特别是来自glGenFramebuffers: // Render the warped texture mapped triangles to framebuffer GLuint myFBO; GLuint myTexture; glEnable(GL_TEXTURE_2D); glGenTextures(1, &myTexture); glBind

我有很多毛病,不知道为什么。与我一起工作的人可以在OSX机器上正确编译和运行。gdb backtrace告诉我它来自这段代码,特别是来自glGenFramebuffers:

    // Render the warped texture mapped triangles to framebuffer
GLuint myFBO;
GLuint myTexture;

glEnable(GL_TEXTURE_2D);
glGenTextures(1, &myTexture);
glBindTexture(GL_TEXTURE_2D, myTexture);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, size.width, size.height, 0, GL_RGB, GL_UNSIGNED_BYTE, 0);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);

glGenFramebuffers(1, &myFBO);
glBindFramebuffer(GL_FRAMEBUFFER_EXT, myFBO);

我正在运行带有Nvidia卡的12.04 Ubuntu,该卡使用操作系统提供的Nvidia的最新专有驱动程序。我对OpenGL不太熟悉,很多代码都是我的合作伙伴的,他似乎也被难住了。如果您需要任何进一步的信息,我很乐意提供。

事实证明,答案非常简单。OSX程序员在开始使用glew调用之前不需要调用glewInit(),Linux和Windows用户都需要。另外,我还发现了另一个有趣的信息:检查是否能够使用glxinfo执行直接渲染。在运行OpenGL程序时,它会起到很大的作用。

您是否已经通过调用
glGetError()
在代码中的某个地方检查了错误?也许它的输出可以帮助您。glGenFramebuffers是指针还是函数?如果指针-它是有效的(非空)?执行此代码时是否创建了OpenGL上下文?