#1 Le 08/03/2007, à 11: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, à 15:55)
Bienvenue dans le monde du libre !
Hors ligne
#2 Le 08/03/2007, à 18: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, à 20: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 08/03/2007, à 23:33
- Befa
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...
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 (mot de recherche 'glut')
Bienvenue dans le monde du libre !
Hors ligne
#5 Le 08/03/2007, à 23: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, à 15: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