我正在编译一个在 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/

10-11 16:47