我有一个在 Linux 上使用 SDL 的简单 OpenGL 程序,它只是尝试加载和打印 OpenGL 版本。
cout << "GL_VERSION : " << glGetString(GL_VERSION) << endl;
当我运行程序时它只是挂起,输出如下......它基本上似乎在“等待”OpenGL库响应:
GL_VERSION :
它与 Nvidia Ubuntu OpenGL 库 (nvidia-current-dev pkg) 链接。我也确实在系统上安装了 Mesa,但正如您从“lsof”中看到的,它似乎正在使用 Nvidia。
sdl-hack 29491 x mem REG 8,18 34639056 4212198 /usr/lib/nvidia-current/libnvidia-glcore.so.295.40
sdl-hack 29491 x mem REG 8,18 11728 4212207 /usr/lib/nvidia-current/tls/libnvidia-tls.so.295.40
sdl-hack 29491 x mem REG 8,18 1054832 4212209 /usr/lib/nvidia-current/libGL.so.295.40
请注意,我确实必须安装“libglu1-mesa-dev”来提供 glu.h,因为这不是 Nvidia dev pkg 的一部分。
不太确定如何调试这个,有人可以指出我正确的方向吗?