我正在编译一个在 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'
以及同一行的其他错误。
有人知道我做错了什么吗?
提前感谢您的帮助。
最佳答案
试试 gcc -o main CG_ex4.c -lGL
。 gcc 参数的正确顺序很重要。
关于c - 当我用 c 语言编译程序时,为什么会得到一个 undefined reference (例如 `glColor3f')?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4179079/