c - 当我用 c 语言编译程序时,为什么会得到一个 undefined reference (例如 `glColor3f')?

标签 c gcc linker-errors

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

相关文章:

c - 我的 C 函数从 stdin 读取并解析数据以存储在结构体的成员中。每次调用时如何读取输入的下一部分?

c++ - 在指向 T 的指针、T 的数组和指向 T 的数组的指针之间进行转换是否有未定义的行为?

c - 尝试用c重写realloc函数

c - Windows 中的 GCC 包括头文件

command-line - 如何获取GCC链接器命令?

c++ - 什么是 undefined reference /未解析的外部符号错误以及如何修复它?

ocaml - 在本地 Opam 环境中安装 Z3 OCaml 绑定(bind)时出现链接器错误

C语言-无法检查getchar()是字母还是数字

c++ - 这本教科书错了吗?专门化某些成员函数而不是其他成员函数

c++ - 将 operator!= 实现为自由函数的类外模板的正确方法