Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/03/2007, à 12:40

Befa

[Résolu] C++ + OpenGL + Ubuntu = erreur de compilation :(

Bonjour à tous,
voulant programmer en Opengl sur mon Pc je n'arrive pas à compiler alors que le programme fonctionne (testé sur une autre machine).
Voila le code :

#include <iostream>
include <GL/gl.h>
include <GL/glu.h>
include <GL/glut.h>
include <stdlib.h>

//g++ -L/usr/X11R6/lib -lX11 -lXi -lXmu -lglut -lGL -lGLU -lm -o exo1 exo1.cpp

void display(void)
{
  
  glClear(GL_COLOR_BUFFER_BIT);
  // Dessin du carre
  glBegin(GL_POLYGON) ;
  glVertex3f(0.25, 0.25, 0.0);
  glVertex3f(0.75, 0.25, 0.0);
  glVertex3f(0.75, 0.75, 0.0);
  glVertex3f(0.25, 0.75, 0.0);
  glEnd();

  glFlush();
}

void init1()
{
  glClearColor(0.0, 0.0, 0.0, 0.0);//effacement de la couleur précédente
  glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);// système de coordonnées
  glColor3f(1.0, 1.0, 1.0);// définit la couleur à utiliser
}

int main(int argc,char **argv) 
{
  glutInit(&argc,argv);

  glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
  glutInitWindowSize(250,250);
  glutInitWindowPosition(100,100);
  glutCreateWindow("hello1");
  init1();
  glutDisplayFunc(display);
   glutMainLoop();
  return(0);
}

Et lors de la compilation ($ g++ -o exo1 exo1.cpp), le compilateur me retourne ces erreurs :

exo1.cpp:2: error: expected constructor, destructor, or type conversion before ‘<’ token
exo1.cpp: In function ‘void init1()’:
exo1.cpp:26: error: ‘glClearColor’ was not declared in this scope
exo1.cpp:27: error: ‘glOrtho’ was not declared in this scope
exo1.cpp:28: error: ‘glColor3f’ was not declared in this scope
exo1.cpp: In function ‘int main(int, char**)’:
exo1.cpp:33: error: ‘glutInit’ was not declared in this scope
exo1.cpp:35: error: ‘GLUT_SINGLE’ was not declared in this scope
exo1.cpp:35: error: ‘GLUT_RGB’ was not declared in this scope
exo1.cpp:35: error: ‘glutInitDisplayMode’ was not declared in this scope
exo1.cpp:36: error: ‘glutInitWindowSize’ was not declared in this scope
exo1.cpp:37: error: ‘glutInitWindowPosition’ was not declared in this scope
exo1.cpp:38: error: ‘glutCreateWindow’ was not declared in this scope
exo1.cpp:40: error: ‘display’ was not declared in this scope
exo1.cpp:40: error: ‘glutDisplayFunc’ was not declared in this scope
exo1.cpp:41: error: ‘glutMainLoop’ was not declared in this scope

Il doit manquer une bibliothèque mais je ne sais pas laquelle !
Merci d'avance.

Dernière modification par Befa (Le 09/03/2007, à 16:55)


Bienvenue dans le monde du libre !

Hors ligne

#2 Le 08/03/2007, à 19:24

Gari

Re : [Résolu] C++ + OpenGL + Ubuntu = erreur de compilation :(

Essaie d'installer "libglut3-dev" et "glutg3-dev". D'après mes souvenirs (datant de 2 ans au moins, donc c'est pas sûr que ce soit bon) l'un de ces paquets apporte ce que tu cherches.

Hors ligne

#3 Le 08/03/2007, à 21:09

Balkoth

Re : [Résolu] C++ + OpenGL + Ubuntu = erreur de compilation :(

Bonjour,
tu es sûr que ton programme fonctionne tel quel sur ton autre machine ?
Parce qu'il te manque les # devant tous tes include, sauf le premier...

Hors ligne

#4 Le 09/03/2007, à 00:33

Befa

Re : [Résolu] C++ + OpenGL + Ubuntu = erreur de compilation :(

Balkoth a écrit :

Bonjour,
tu es sûr que ton programme fonctionne tel quel sur ton autre machine ?
Parce qu'il te manque les # devant tous tes include, sauf le premier...

Tu as raison ! Je les ai virés avant de poster (trop de bash tue la prog !) mais j'ai les mêmes erreurs.

En ce qui concerne les bibliothèques j'ai tout installé sans résultat sad (mot de recherche 'glut')


Bienvenue dans le monde du libre !

Hors ligne

#5 Le 09/03/2007, à 00:45

Balkoth

Re : [Résolu] C++ + OpenGL + Ubuntu = erreur de compilation :(

Pour compiler, il faut que tu utilises la ligne qui est indiqué au début de ton code, elle est là pour ça.
g++ -L/usr/X11R6/lib -lX11 -lXi -lXmu -lglut -lGL -lGLU -lm -o exo1 exo1.cpp
J'ai testé rapidement, il suffit d'installer libglut-dev, et ensuite seules 2 options posent problème. Il faut installer les librairies Xi et Xmu, mais j'ai la flemme de chercher les paquets correspondants, et avec g++ -L/usr/X11R6/lib -lX11 -lglut -lGL -lGLU -lm -o exo1 exo1.cpp, ça compile et se lance sans souci.

Hors ligne

#6 Le 09/03/2007, à 16:13

Befa

Re : [Résolu] C++ + OpenGL + Ubuntu = erreur de compilation :(

C'est bon j'ai trouvé les librairies manquantes : libxi-dev et libxmu-dev.
Merci de votre aide.


Bienvenue dans le monde du libre !

Hors ligne