我在OpenGL 11.1(一个非常新的安装)中为openGL编写了一个这样的示例代码(安装了从Yast2的软件管理器中搜索openGL的所有库)。
**File: SimpleOpenGL.c**
#include <GL/glut.h>
int main(int argc,char **argv)
{
glutInit(&argc,argv);
glutInitWindowPosition(100,100);
glutInitWindowSize(800,600);
glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);
glutCreateWindow("Window");
}
Compiling with : $ gcc -o foo -lGL -lglut SimpleOpenGL.c
Running with : $ ./foo
freeglut (./foo): failed to open display ''
我是否必须在Suse中安装任何其他库以使其正常工作?
答案 0 :(得分:3)
您需要将DISPLAY
环境变量设置为指向X服务器(显然必须启动)。
如果这是运行该代码的主机,DISPLAY=:0
将适用于常规设置。
如果您通过SSH远程运行该代码,请确保您的服务器和ssh客户端都已设置(并使用)X11转发。 (之后它应该“正常工作”。)
如果您使用SSH以外的其他方式远程运行,请设置DISPLAY=<hostname or IP address of your display>:<display number>
,如下所示:
DISPLAY=192.168.0.1:0.0
[注意:要使OpenGL远程运行良好,您需要一台具有GLX扩展名的服务器。]