2011-09-06 9 views
1

오픈 소스 용 OpenSuse 11.3 (매우 새로 설치)에서 샘플 코드를 작성했습니다 (Yast2의 소프트웨어 관리자에서 OpenGL을 검색 할 때 모든 라이브러리를 설치했습니다) ."openSuse and 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 '' 

수세에 추가 라이브러리를 설치해야합니까?

+1

언제든지 OpenSuse 워크 스테이션에 앉아 계십니까? 디스플레이를 열지 못하면 대개 활성 X 호스트가 없음을 나타냅니다. – IslandCow

+0

OpenSuse 11.3이 설치된 HP 노트북을 사용하고 있습니다. 그래서 문제를 해결할 수있는 해결 방법이 있습니까? : – Aditya369

답변

3

X 서버 (분명히 시작해야 함)를 가리 키도록 DISPLAY 환경 변수를 설정해야합니다.

해당 코드를 실행하는 호스트가 동일하면 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 확장자가있는 서버가 필요합니다.]

+0

X-Server, DISPLAY 환경 변수, x11 등의 용어에 익숙하지 않은 것 같습니다. Suse를위한 몇 가지 단계를 안내해 줄 수 있습니까? – Aditya369

+0

X11 디스플레이 시스템에 대한 자세한 내용은 [X Window System] (http://en.wikipedia.org/wiki/X_Window_System) DISPLAY 환경 변수는 X11 클라이언트 (응용 프로그램)에서 서버 (실제로 화면에 물건을 표시하는 것)가 어디에 있는지를 알기 위해 사용하는 것입니다. X11, 클라이언트와 서버는 같은 머신에있을 필요가 없습니다. – Mat

+0

고맙습니다 !! 이제 작동했습니다! – Aditya369

관련 문제