Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3060 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [RESOLU] probleme compil opengl / glut sous linux

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] probleme compil opengl / glut sous linux

n°1178803
pinpoy
Posté le 18-08-2005 à 14:50:59  profilanswer
 

hello
 
[blabla]..........[/blabla]
 
j'ai un probleme de débutant j'ai voulu tester un programme basique dont le code provient d'un bouqin
c'est censé faire tourner un carré...
 
le code est le suivant

Code :
  1. #include <stdlib.h>
  2. #include <GL/gl.h>
  3. #include <GL/glut.h>
  4. static GLfloat spin = 0.0;
  5. void init(void)
  6. {
  7. glClearColor(0.0, 0.0, 0.0, 0.0);
  8. glShadeModel(GL_FLAT);
  9. }
  10. void display(void)
  11. {
  12. glClear(GL_COLOR_BUFFER_BIT);
  13. glPushMatrix();
  14. glRotatef(spin, 0.0, 0.0, 1.0);
  15. glColor3f(1.0 , 1.0, 1.0);
  16. glRectf( -25.0, -25.0, 25.0, 25.0);
  17. glPopMatrix();
  18. glutSwapBuffers();
  19. }
  20. void spinDisplay(void)
  21. {
  22. spin = spin +2.0;
  23. if(spin < 360.0){
  24.  spin = spin -360.0;
  25.  }
  26. glutPostRedisplay();
  27. }
  28. void reshape(int w, int h)
  29. {
  30. glViewport(0, 0, (GLsizei) w, (GLsizei)h);
  31. glMatrixMode(GL_PROJECTION);
  32. glLoadIdentity();
  33. glOrtho( -50.0, 50.0, -50.0, 50.0, -1.0, 1.0);
  34. glMatrixMode(GL_MODELVIEW);
  35. glLoadIdentity();
  36. }
  37. void mouse(int button , int state, int x, int y)
  38. {
  39. switch(button){
  40.  case GLUT_LEFT_BUTTON:
  41.   if(state == GLUT_DOWN)
  42.    glutIdleFunc(spinDisplay);
  43.   break;
  44.  case GLUT_MIDDLE_BUTTON:
  45.   if(state == GLUT_DOWN)
  46.    glutIdleFunc(NULL);
  47.   break;
  48.  default:
  49.   break;
  50.  }
  51. }
  52. int main(int argc, char** argv)
  53. {
  54. glutInit(&argc, argv);
  55. glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
  56. glutInitWindowSize(250, 250);
  57. glutInitWindowPosition(100, 100);
  58. glutCreateWindow(argv[0]);
  59. init();
  60. glutDisplayFunc(display);
  61. glutReshapeFunc(reshape);
  62. glutMouseFunc(mouse);
  63. glutMainLoop();
  64. return 0;
  65. }


 
et pour le makefile

Code :
  1. but : opengl
  2. double.o : double.cc
  3. g++ -c double.cc
  4. opengl : double.o
  5. g++ double.o -o prog


 
le code est bon ca compile le fichier .o mais jobtiens  

Code :
  1. g++ double.o -o prog
  2. double.o(.text+0x1f): In function `init()':
  3. : undefined reference to `glClearColor'
  4. double.o(.text+0x2f): In function `init()':
  5. : undefined reference to `glShadeModel'
  6. double.o(.text+0x47): In function `display()':
  7. : undefined reference to `glClear'
  8. double.o(.text+0x4f): In function `display()':
  9. : undefined reference to `glPushMatrix'
  10. double.o(.text+0x6c): In function `display()':
  11. : undefined reference to `glRotatef'
  12. double.o(.text+0x89): In function `display()':
  13. : undefined reference to `glColor3f'
  14. double.o(.text+0xa9): In function `display()':
  15. : undefined reference to `glRectf'
  16. double.o(.text+0xb1): In function `display()':
  17. : undefined reference to `glPopMatrix'
  18. double.o(.text+0xb6): In function `display()':
  19. : undefined reference to `glutSwapBuffers'
  20. double.o(.text+0x102): In function `spinDisplay()':
  21. : undefined reference to `glutPostRedisplay'
  22. double.o(.text+0x119): In function `reshape(int, int)':
  23. : undefined reference to `glViewport'
  24. double.o(.text+0x129): In function `reshape(int, int)':
  25. : undefined reference to `glMatrixMode'
  26. double.o(.text+0x131): In function `reshape(int, int)':
  27. : undefined reference to `glLoadIdentity'
  28. double.o(.text+0x17e): In function `reshape(int, int)':
  29. : undefined reference to `glOrtho'
  30. double.o(.text+0x18e): In function `reshape(int, int)':
  31. : undefined reference to `glMatrixMode'
  32. double.o(.text+0x196): In function `reshape(int, int)':
  33. : undefined reference to `glLoadIdentity'
  34. double.o(.text+0x1c5): In function `mouse(int, int, int, int)':
  35. : undefined reference to `glutIdleFunc'
  36. double.o(.text+0x1da): In function `mouse(int, int, int, int)':
  37. : undefined reference to `glutIdleFunc'
  38. double.o(.text+0x20b): In function `main':
  39. : undefined reference to `glutInit'
  40. double.o(.text+0x218): In function `main':
  41. : undefined reference to `glutInitDisplayMode'
  42. double.o(.text+0x22d): In function `main':
  43. : undefined reference to `glutInitWindowSize'
  44. double.o(.text+0x23c): In function `main':
  45. : undefined reference to `glutInitWindowPosition'
  46. double.o(.text+0x24c): In function `main':
  47. : undefined reference to `glutCreateWindow'
  48. double.o(.text+0x261): In function `main':
  49. : undefined reference to `glutDisplayFunc'
  50. double.o(.text+0x271): In function `main':
  51. : undefined reference to `glutReshapeFunc'
  52. double.o(.text+0x281): In function `main':
  53. : undefined reference to `glutMouseFunc'
  54. double.o(.text+0x289): In function `main':
  55. : undefined reference to `glutMainLoop'
  56. collect2: ld returned 1 exit status
  57. make: *** [opengl] Erreur 1


 
j'ai essayé de rajouter des arguments du genre "-lgl -lglu -lglut -lm -lX11" a la commande qui compile mais elle ne l'est trouve pas
 
 
merci d'avance de maider ca doit pas etre bien dur mais bon ca bloque tout :s


Message édité par pinpoy le 19-08-2005 à 15:49:36
mood
Publicité
Posté le 18-08-2005 à 14:50:59  profilanswer
 

n°1178914
jlighty
Posté le 18-08-2005 à 16:46:42  profilanswer
 

avec :
 -lGLU -lGL -lglut -lm ça passe ? (distinction de la casse)

n°1179287
pinpoy
Posté le 19-08-2005 à 04:32:04  profilanswer
 

non mais je reessairai demain jete tienso courant merci davoir repndu

n°1179391
jlighty
Posté le 19-08-2005 à 10:23:08  profilanswer
 

Quel IDE utilises tu ? (Dev-C++) ?

n°1179671
pinpoy
Posté le 19-08-2005 à 15:30:14  profilanswer
 

mdk 10.1 g++
 
je vais faire des tests la, je vais préciser les messages d'erreur obtenus quand je rajoute -lGLU -lGL -lglut -lm mais en gros il me dis pour chacun qu'ils les trouves pas

n°1179686
jlighty
Posté le 19-08-2005 à 15:40:47  profilanswer
 

Tu as bien les bibliothèques installées ?
(regarde avec ldconfig si GL, GLU sont présents)
PS: avec gcc ça passe ?


Message édité par jlighty le 19-08-2005 à 15:42:17
n°1179695
pinpoy
Posté le 19-08-2005 à 15:48:35  profilanswer
 

bon c bon, oui les bibliotheques étaients bien installées car le compilateur génère le .o sans erreur mais c'est apres à la génération de l'exécutable que le .o ne trouvaient pas les bibliothèques j'ai l'impression
 
j'ai pris le Makefile dun ami qui s'y connait un peu plus que moi je l'ai modifié et ca a marché
 
code du nouveau makefile  

Code :
  1. CC=g++ -O3 -Wall
  2. LIBS=-lGL -lGLU -lglut  -lX11 -lXmu -lXi -lm -ljpeg
  3. LIBSDIR= -L/usr/X11R6/lib
  4. all : moteur
  5. moteur : double.cc
  6. ${CC} double.cc -o Inea ${LIBS} ${LIBSDIR}
  7. clean :
  8. rm -f moteur *~ \#*\#


 
a la fin de nom de l'exe est Inea
 
en fait ce qu'il me manquait je pense c'était juste d'indiquer où se trouvaient les librairies
 
 
bon ben pb résolu :)
 
 
au fait merci jlighty


Message édité par pinpoy le 19-08-2005 à 15:53:16
n°1179705
jlighty
Posté le 19-08-2005 à 15:58:09  profilanswer
 

Ben tu aurais pu taper la ligne complète dans la console !
g++ -l ..... double.cc -o Inea

n°1179712
pinpoy
Posté le 19-08-2005 à 16:08:28  profilanswer
 

j'ai essayé mais il voulait pas il lui manquait le libsdir apparemment qui doit servir lors de la génératiion de l'exécutable à partir du fichier .o
 
enfin bon ca marche c fou ca :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [RESOLU] probleme compil opengl / glut sous linux

 

Sujets relatifs
Problème avec exec et la redirection vers un fichier[Resolu] Echappement des caracteres speciaux
problème html bloquer textarea !!Oracle9 : Probleme de lock
problème de souris OpenGLProblème de scrollbar
[VB.NET] [ Resolu ]COnvertir Dataview en stringComment récuperer $_GET['machin'] en $machin ? [résolu]
[J2EE] [i18n / l10n] Problème avec l'internationalisation 
Plus de sujets relatifs à : [RESOLU] probleme compil opengl / glut sous linux


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR