freeglut未定义引用

freeglut未定义引用

有人能帮助我解决以下问题吗:我想学习使用 freeglut 开发图形应用程序。按照有关如何在 ubuntu 上运行它的指南,我做了以下操作:

sudo apt-get install freeglut3 freeglut3-dev
sudo apt-get install build-essential
sudo apt-get install binutils-gold

当我尝试编译一些 cpp 代码时,我不断收到 glut 函数的未定义引用错误。我尝试用 Google 搜索问题,但没有任何结果。

我使用以下命令进行编译:

g++ -lGL -lGLU -lglut main.cpp

我收到类似以下错误:

main.cpp:(.text+0xd98): undefined reference to `glutInit'

所有使用的 glut 函数都会发生这个错误。

答案1

您需要将链接器选项放在编译命令的末尾,如下所示:

g++ main.cpp -o main -lGL -lGLU -lglut

g++可能会按顺序处理命令行选项,这意味着它会看到您想要链接到 GL、GLU 和 glut,但实际上没有代码使用它们,因此可以删除它们,然后才尝试编译main.cpp,从而导致错误。

相关内容