Aller au contenu

Problème pour trouver des librairies openGL


Messages recommandés

Bonjour à tous,

J'ai installé recemment Mandrake 10.1 sur mon portable et je souhaite programmer un peu en OpenGL, seulement j'ai un problème avec les #include.

Lors de la compilation avec make, le compilateur me dit :

GLWindow.H:4:19: X11/X.h: No such file or directory

GLWindow.H:5:22: X11/Xlib.h: No such file or directory

GLWindow.H:7:27: X11/keysymdef.h: No such file or directory

GLWindow.H:14:20: GL/glx.h: No such file or directory

GLWindow.H:15:19: GL/gl.h: No such file or directory

In file included from GLWindow.H:17,

from GLWindow.C:1:

Sphere.H:8:21: GL/glut.h: No such file or directory

Sphere.H:9:20: GL/glu.h: No such file or directory

C'est donc qu'il ne trouve pas les librairies...

Comment faire pour que le compilateur trouve ces librairies?

Merci d'avance pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

installer xlibmesa-gl-dev ?

:smack: ... ou plus simplement glut... :D

Regarde quand même si c'est pas déjà installé :

/usr/X11R6/include/GL/glut.h

/usr/X11R6/lib/libglut.so

Si ces deux fichiers existent, c'est que glut est installé.

Sinon, t'as fais comment pour compiler ?

Sous linux le super compilateur de la mort qui déchire tout c'est :chinois:gcc. Pour compiler ton prog tu devrais essayer un truc du style :

gcc -O2 code.c -o output -I/usr/X11R6/include -L/usr/X11R6/lib -lglut -lGL -lGLU

Avec code.c ton fichier source et output le nom de l'exe une fois compilé.

Lien vers le commentaire
Partager sur d’autres sites

urpmi xlibmesa-gl-dev

Quand je tape cette ligne j'obtiens "pas de paquetage nommé xlibmesa-gl-dev"

Regarde quand même si c'est pas déjà installé :

/usr/X11R6/include/GL/glut.h

/usr/X11R6/lib/libglut.so

J'ai le répertoire /usr/X11R6/include/ mais pas /usr/X11R6/include/GL

Par j'ai : /usr/X11R6/lib/libglut.so3 et /usr/X11R6/lib/libglut.so.3.7.1

Sous linux le super compilateur de la mort qui déchire tout c'est gcc. Pour compiler ton prog tu devrais essayer un truc du style :

gcc -O2 code.c -o output -I/usr/X11R6/include -L/usr/X11R6/lib -lglut -lGL -lGLU

j'ai essayé cette ligne et j'obtiens la même erreur que precedemment.

Merci pour votre aide

Lien vers le commentaire
Partager sur d’autres sites

J'ai tapé

"urpmf --summary xlibmesa-gl-dev"

et il me dit qu'il n'y a pas de paquetage avec ce nom.

J'ai donc essayé urpmf --summary mesa

et j'ai installé toutes les réponses, la plupart étaient déjà installées.

Mais que faire pour trouver X11/X.h ou X11/Xlib.h?

Lien vers le commentaire
Partager sur d’autres sites

J'ai le répertoire /usr/X11R6/include/ mais pas /usr/X11R6/include/GL

Par j'ai :  /usr/X11R6/lib/libglut.so3 et /usr/X11R6/lib/libglut.so.3.7.1

j'ai essayé cette ligne et j'obtiens la même erreur que precedemment.

Merci pour votre aide

Regarde aussi dans /usr/include/GL/ et /usr/lib/ ... :craint:

Sinon pour trouver un fichier il existe la commande locate (ou slocate, find...) :

locate Xlib.h

ou

slocate glut.h

mais encore

find /usr/ -name glut.h

Tu peux aussi chercher un exemple de makefile pour glut. :cartonrouge:

Lien vers le commentaire
Partager sur d’autres sites

Regarde aussi dans /usr/include/GL/ et /usr/lib/ ... :-D

Sinon pour trouver un fichier il existe la commande locate (ou slocate, find...) :

locate Xlib.h

ou

slocate glut.h

mais encore

find /usr/ -name glut.h

Je n'ai aucun de ces fichiers...

J'ai donc décidé de passer à autre chose vu que je n'arrive à rien et donc je suis allé sur le net pour télécharger GLUT et j'utiliserai uniquement ceci. Le problème c'est que je n'arrive pas à installer Glut!

J'ai téléchargé le .zip, je l'ai dézippé et j'ai lu le readme. Ils indiquent de taper d'abord cette commande : mkmkfiles.sgi ce que j'ai fait. Puis ils disent de taper "make", là j'obtiens une première erreur :

Pas de règle pour fabriquer la cible " /usr/include/make/commondefs".

Je crée alors ce répertoire "make" et ce fichier commondefs puis je recompile avec make, là il m'affiche :

"default" est à jour
Mais c'est pas pour autant que ça marche !

Je crée un programme de base et lors de la compilation ça coince : "undefined reference to glutInit", "undefined reference to "glutInitDisplayMode" etc...;)

Si qqn a une idée.

Merci d'avance

Lien vers le commentaire
Partager sur d’autres sites

écoute : cherche glut dans le gestionnaire de paquetages, il devrait y avoir un paquetage de développement.

le binaire, tu l'as, mais c'est pas suffisant pour compiler quoi que ce soit... il te faut les prototypes, qui sont toujours sotckés dans des paquets qui se finnisent en -dev ou -devel

donc tu trouve le paquet de prototypes de glut, tu l'installe, et quand tu compile, tu n'oublies pas de spécifier les chemins vers ET les entêtes, ET les binaire, comme expliqué par astero-H

il y a un tresw bon tuto sur OpenGL sur linuxgraphic.org ainsi que plein de liens interressant :D

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ta réponse Lorinc,

J'ai fais comme tu m'as dis, je suis allé dans le gestionnaire de paquetage, j'ai recherché par mot clé un paquetage contenant glut, j'ai trouvé quelques librairies (libglut.so.3.7.1, libMesaglut3-5.0.2 etc...) mais elles sont déjà installées sur ma machine, j'ai essayé aussi avec dev et devel, rien non plus. Je ne peux donc pas faire de #include <GL/glut.h>.

Je ne comprends vraiment pas comment faire... J'ai réinstallé Mandrake tout à l'heure en mettant tous les paquetages du DVD, ça n'a pas changé le problème, il manque toujours /usr/include/GL/glut.h.

Lien vers le commentaire
Partager sur d’autres sites

installer xlibmesa-gl-dev ?

En fait, t'étais pas loin du tout :oops: ...

libMesaglut3-devel

Development files for glut libs

Mesa is an OpenGL 1.4 compatible 3D graphics library.

glut parts.

This package contains the headers needed to compile Mesa programs.

Version: 5.0.2

Release: 9mdk

CD: ./Mandriva Linux 2005 Limited Edition DVD

Path: /media/main/libMesaglut3-devel-5.0.2-9mdk.i586.rpm

Group: Development/C

License: MIT

Size: 151 KB

Homepage: http://www.mesa3d.org

File list:

/usr/X11R6/include/GL

/usr/X11R6/include/GL/glu.h

/usr/X11R6/include/GL/glu_mangle.h

/usr/X11R6/include/GL/glut.h

/usr/X11R6/include/GL/glutf90.h

/usr/X11R6/lib/libglut.la

/usr/X11R6/lib/libglut.so -> libglut.so.3.7.1

...

C'est vraiment le bordel dans certaines distribs... :mdr:

Avec gentoo, l'ebuild pour glut s'appelle glut !! :8

:p

EDIT: Si j'ai bien compris mesa3d serait donc une alternative à openGL :zarb: , mais pourquoi ? c'est pas Open (LL) openGL ?!

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...