C++ 失败请求的X错误:错误匹配
我正在尝试执行一些“hello world”opengl代码:C++ 失败请求的X错误:错误匹配,c++,linux,opengl,nvidia,glut,C++,Linux,Opengl,Nvidia,Glut,我正在尝试执行一些“hello world”opengl代码: #include <GL/freeglut.h> void displayCall() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glEnable(GL_DEPTH_TEST); ... Some more code here glutSwapBuffers(); } int main(int argc, char *
#include <GL/freeglut.h>
void displayCall() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glEnable(GL_DEPTH_TEST);
... Some more code here
glutSwapBuffers();
}
int main(int argc, char *argv[]) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize(500, 500);
glutInitWindowPosition(300, 200);
glutInitContextVersion(4, 2);
glutInitContextFlags(GLUT_FORWARD_COMPATIBLE);
glutCreateWindow("Hello World!");
glutDisplayFunc(displayCall);
glutMainLoop();
return 0;
}
以下是堆栈跟踪:
fghCreateNewContext() at freeglut_window.c:737 0x7ffff7bbaa81
fgOpenWindow() at freeglut_window.c:878 0x7ffff7bbb2fb
fgCreateWindow() at freeglut_structure.c:106 0x7ffff7bb9d86
glutCreateWindow() at freeglut_window.c:1,183 0x7ffff7bbb4f2
main() at AlphaTest.cpp:51 0x4007df
以下是程序崩溃后的最后一段代码:
createContextAttribs =
(CreateContextAttribsProc) fghGetProcAddress("glXCreateContextAttribsARB" );
if ( createContextAttribs == NULL ) {
fgError( "glXCreateContextAttribsARB not found" );
}
context = createContextAttribs( dpy, config, share_list, direct, attributes );
已成功获取“glXCreateContextAttribsARB”地址,但程序在调用时崩溃
如果我在“glutInitContextVersion()”中指定OpenGL版本低于4.2,则程序运行时不会出错
这是我的glxinfo的欧宝版本:
OpenGL version string: 4.2.0 NVIDIA 285.05.09
如果有任何进一步的想法,我将不胜感激。转到堆栈溢出;这与游戏开发无关。希望你能找到答案!移动到堆栈溢出;这与游戏开发无关。希望你能找到答案!
OpenGL version string: 4.2.0 NVIDIA 285.05.09