我正在编译一个在ubuntu(linux)中使用opengl的示例程序。代码的简短片段如下:
#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提前获得任何帮助。
答案 0 :(得分:8)
试试gcc -o main CG_ex4.c -lGL
。 gcc参数的正确顺序很重要。
答案 1 :(得分:0)
尝试包括GL / gl.h以及过剩。有点奇怪,因为过剩实际上包括gl.h和glu.h.