Pourquoi cette petite fonction (dessiner un cercle en opengl) ne comstack-t-elle pas en c?

Je fais quelques expériences avec opengl in c pour linux. J’ai la fonction suivante qui dessinerait un cercle en fonction de ces parameters. J’ai inclus

#include  #include  #include  #include  

Cependant quand je comstack:

 gcc fiver.c -o fiver -lglut 

Je reçois:

  /usr/bin/ld: /tmp/ccGdx4hW.o: undefined reference to symbol 'sin@@GLIBC_2.2.5' /usr/bin/ld: note: 'sin@@GLIBC_2.2.5' is defined in DSO /lib64/libm.so.6 so try adding it to the linker command line /lib64/libm.so.6: could not read symbols: Invalid operation collect2: ld returned 1 exit status 

La fonction est la suivante:

 void drawCircle (int xc, int yc, int rad) { // // draw a circle centered at (xc,yc) with radius rad // glBegin(GL_LINE_LOOP); // int angle; for(angle = 0; angle < 365; angle = angle+5) { double angle_radians = angle * (float)3.14159 / (float)180; float x = xc + rad * (float)cos(angle_radians); float y = yc + rad * (float)sin(angle_radians); glVertex3f(x,0,y); } glEnd(); } 

Quelqu’un sait-il ce qui ne va pas?

L’éditeur de liens ne peut pas trouver la définition de la fonction sin (). Vous devez lier votre application à la bibliothèque de mathématiques. Comstackr avec:

 gcc fiver.c -o fiver -lglut -lm