“openSuse和openGL”环境的示例程序

时间:2011-09-06 20:22:12

标签: c opengl opensuse freeglut

我在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中安装任何其他库以使其正常工作?

1 个答案:

答案 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扩展名的服务器。]