我正在编译一个在ubuntu(linux)中使用opengl的示例程序。代码的一小片段如下:当我在c中编译程序时,为什么会得到一个未定义的引用(例如`glColor3f')?
#include <stdlib.h>
#include <GL/glut.h>
void createBox(GLfloat centroX, GLfloat centroY,
GLfloat corR, GLfloat corG, GLfloat corB)
{
/* Cor */
glColor3f(corR, corG, corB);
我已经安装了所有的包在OpenGL(在Ubuntu)制定,即:
freeglut3 freeglut3-dev libglew1.5 libglew1.5-dev libglu1-mesa
libglu1-mesa-dev libgl1-mesa-glx libgl1-mesa-dev
我编译这样的例子:
gcc -lGL CG_ex04.c -o main
,我得到以下
/tmp/ccDWmJDZ.o: In function `createBox':
CG_ex04.c:(.text+0x31): undefined reference to `glColor3f'
和其他错误沿同一行。
有谁知道我在做什么错?
Thanx提前寻求帮助。
这与你的编译器有关,而不是你使用的库。请删除opengl和glut标签:-) – 2010-11-14 19:17:02
修复标签和标题。请记住,下次您发布问题时。标签意味着*与您的问题*相关,不能仅仅因为您的程序使用特定的API而使用。 – 2010-11-17 15:19:54