Pourquoi ai-je une référence indéfinie (à “glColor3f”, par exemple) lorsque je comstack un programme en c

Je comstack un exemple de programme utilisant opengl dans ubuntu (linux). Un court extrait du code est le suivant:

#include  #include  void createBox( GLfloat centroX, GLfloat centroY, GLfloat corR, GLfloat corG, GLfloat corB ) { /* Cor */ glColor3f( corR, corG, corB ); 

J’ai installé tous les paquets à développer en opengl (sous Ubuntu), à savoir:

 freeglut3 freeglut3-dev libglew1.5 libglew1.5-dev libglu1-mesa libglu1-mesa-dev libgl1-mesa-glx libgl1-mesa-dev 

Je comstack l’exemple comme ceci:

 gcc -lGL CG_ex04.c -o main 

et je reçois ce qui suit

 /tmp/ccDWmJDZ.o: In function `createBox': CG_ex04.c:(.text+0x31): undefined reference to `glColor3f' 

et d’autres erreurs dans la même ligne.

Est-ce que quelqu’un sait ce que je fais mal?

Merci d’avance pour toute aide.

Essayez gcc -o main CG_ex4.c -lGL . Le bon ordre des parameters gcc est important.

Essayez d’inclure GL / gl.h ainsi que glut. Un peu bizarre cependant, car glut inclut à la fois gl.h et glu.h.