Irrlicht引擎游戏不会在Linux上编译。 未定义的参考(opengl和xfree)

我试图移植我正在开发的Linux游戏。 但是,当我编译我得到了很多未定义的引用主要是看起来像他们属于OpenGL的函数。 大多数都被称为gl …但其中一个被称为XFree。

我用这个命令编译它:

g++ main.cpp -L../../../LIB/irrlicht-1.8.3/lib/Linux/ -lIrrlicht -I../../../LIB/irrlicht-1.8.3/include/ 

其中一个错误:

 /home/owner/LIB/irrlicht-1.8.3/source/Irrlicht/COpenGLDriver.cpp:3746: undefined reference to `glVertex3f 

您需要安装OpenGL和X11的开发库。 你没有说明你正在使用什么发行版,但是在Ubuntu OpenGL开发库中是包libgl1-mesa-dev

对于未来的人遇到我的问题,我find了解决scheme。 我能够用这个编译我的项目。

-w用于删除警告其可选。 我也发现你需要链接-lXxf86vm

 g++ main.cpp -w -I../../../LIB/irrlicht-1.8.3/include/ -L ../../../LIB/irrlicht-1.8.3/lib/Linux/ -lIrrlicht -lGLU -lGL -lX11 -lXxf86vm