有人能帮助我解决以下问题吗:我想学习使用 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
,从而导致错误。