在ubuntu上使用Cmake编译src/irrlicht中代码出现错误

使用CMake编译出现如下许多未定义的错误,请问大家该如何解决
/usr/local/lib/libIrrlicht.a(CIrrDeviceLinux.o):在函数‘irr::CIrrDeviceLinux::~CIrrDeviceLinux()’中:
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:138:对‘XFree’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:170:对‘glXMakeContextCurrent’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:175:对‘glXMakeCurrent’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:178:对‘glXDestroyContext’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:180:对‘glXDestroyWindow’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:192:对‘XDestroyWindow’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:193:对‘XCloseDisplay’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:197:对‘XFree’未定义的引用
/usr/local/lib/libIrrlicht.a(CIrrDeviceLinux.o):在函数‘irr::CIrrDeviceLinux::~CIrrDeviceLinux()’中:
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:138:对‘XFree’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:170:对‘glXMakeContextCurrent’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:175:对‘glXMakeCurrent’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:178:对‘glXDestroyContext’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:180:对‘glXDestroyWindow’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:192:对‘XDestroyWindow’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:193:对‘XCloseDisplay’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:197:对‘XFree’未定义的引用
/usr/local/lib/libIrrlicht.a(CIrrDeviceLinux.o):在函数‘irr::IrrPrintXError(_XDisplay*, XErrorEvent*)’中:
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:220:对‘XGetErrorDatabaseText’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:221:对‘XGetErrorText’未定义的引用
/usr/local/lib/libIrrlicht.a(CIrrDeviceLinux.o):在函数‘irr::CIrrDeviceLinux::switchToFullscreen(bool)’中:
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:238:对‘XF86VidModeSwitchToMode’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:239:对‘XF86VidModeSetViewPort’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:260:对‘XF86VidModeQueryExtension’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:266:对‘XF86VidModeGetAllModeLines’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:286:对‘XF86VidModeSwitchToMode’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:287:对‘XF86VidModeSetViewPort’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:296:对‘XFree’未定义的引用
/usr/local/lib/libIrrlicht.a(CIrrDeviceLinux.o):在函数‘irr::CIrrDeviceLinux::createWindow()’中:
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:375:对‘XSetErrorHandler’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:378:对‘XOpenDisplay’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:382:对‘XDisplayName’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:383:对‘XDisplayName’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:400:对‘glXQueryExtension’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:401:对‘glXQueryVersion’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:407:对‘glXGetProcAddress’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:555:对‘XFree’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:559:对‘glXGetProcAddress’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:593:对‘glXChooseVisual’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:601:对‘glXChooseVisual’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:607:对‘glXChooseVisual’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:631:对‘XGetVisualInfo’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:640:对‘XCloseDisplay’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:653:对‘XCreateColormap’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:668:对‘XCreateWindow’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:674:对‘XMapRaised’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:677:对‘XInternAtom’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:678:对‘XSetWMProtocols’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:681:对‘XSetInputFocus’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:683:对‘XGrabKeyboard’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:686:对‘XGrabPointer’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:688:对‘XWarpPointer’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:702:对‘XCreateWindow’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:705:对‘XGetWindowAttributes’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:724:对‘glXCreateWindow’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:728:对‘glXCreateNewContext’未定义的引用
/home/cidi/文档/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp:731:对‘glXMakeContextCurrent’未定义的引用

https://blog.csdn.net/risesoft2012/article/details/51260816