开发者

Why do I get an undefined reference( to `glColor3f' ,for example) when I compile a program in c?

I'm compiling an example program that uses opengl in ubuntu (linux). A short snippet of the code is the following:

 #include <stdlib.h> 

 #include <GL/glut.h>


 void createBox( GLfloat centroX, GLfloat centroY,
                       GLfloat corR, GLfloat corG, GLfloat corB )
 {
    /* Cor  */

    glColor3f( corR开发者_高级运维, corG, corB );

I've installed all of the packages to develop in opengl (in ubuntu), namely:

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

I compile the example like this:

gcc -lGL   CG_ex04.c -o main

and I get the following

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

and other errors along the same line.

Does anyone know what I'm doing wrong?

Thanx in advance for any help.


Try gcc -o main CG_ex4.c -lGL. The correct order of gcc parameters is important.


Try including GL/gl.h as well as glut. Kind of weird though, since glut actually includes both gl.h and glu.h.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜