2011-09-06 1 views
1

J'ai écrit un exemple de code comme ceci dans OpenSuse 11.3 (une toute nouvelle installation) pour openGL (installé toutes les librairies qui sont apparues dans la recherche d'openGL à partir du gestionnaire de logiciel de Yast2) .Exemple de programme pour l'environnement "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 '' 

Dois-je installer des bibliothèques supplémentaires dans Suse pour que cela fonctionne?

+1

Par hasard, n'êtes-vous pas assis sur le poste de travail OpenSuse? Impossible d'ouvrir l'affichage signifie généralement qu'il n'y a pas d'hôte X actif. – IslandCow

+0

Je suis sur un ordinateur portable HP avec OpenSuse 11.3 installé. Alors, existe-t-il une solution de contournement pour contourner le problème? :( – Aditya369

Répondre

3

Vous devez définir la variable d'environnement DISPLAY pour qu'elle pointe vers votre serveur X (qui doit évidemment être démarré).

Si c'est le même hôte qui exécute ce code, DISPLAY=:0 fonctionnera pour les configurations habituelles.

Si vous exécutez ce code à distance via SSH, assurez-vous que votre serveur et votre client ssh sont configurés pour (et utilisent) le transfert X11. (. Il devrait « juste travail » après)

Si vous utilisez à distance avec quelque chose d'autre que SSH, mis DISPLAY=<hostname or IP address of your display>:<display number>, donc quelque chose comme:

DISPLAY=192.168.0.1:0.0 

[Note: Pour OpenGL bien travailler à distance , vous aurez besoin d'un serveur qui a l'extension GLX.]

+0

J'ai peur de ne pas connaître ces termes comme X-Server, DISPLAY environnement var, x11, etc. Pouvez-vous me guider à travers quelques étapes pour Suse? – Aditya369

+0

Pour plus d'informations sur le système d'affichage X11, voir [Système X Window] (http://en.wikipedia.org/wiki/X_Window_System) La variable d'environnement DISPLAY est ce qui est utilisé par les clients (applications) X11 pour savoir où se trouve le serveur (la chose qui affiche réellement des choses sur un écran). X11, le client et le serveur ne doivent pas être sur la même machine – Mat

+0

Merci beaucoup! Cela a fonctionné maintenant !! – Aditya369