cmake doesn't link libGLU using QtOpenGL

rebli picture rebli · Jul 25, 2011 · Viewed 8.2k times · Source

I'm trying to compile a software that uses QtOpenGL, but I got a link error because -lGLU is not present. cmake is used. The only relevant line in CMakeLists.txt files seems to me find_package(Qt4 REQUIRED)

The system is Linux 64bit, Debian unstable, qt version 4.7.3, cmake version 2.8

Answer

datenwolf picture datenwolf · Jul 26, 2011

GLU is neither part of OpenGL nor Qt. You must add it as an additional dependency manually; the CMake FindOpenGL module also searches for GLU

% cmake --help-module FindOpenGL
cmake version 2.8.1
  FindOpenGL
       Try to find OpenGL

       Once done this will define


         OPENGL_FOUND        - system has OpenGL
         OPENGL_XMESA_FOUND  - system has XMESA
         OPENGL_GLU_FOUND    - system has GLU
         OPENGL_INCLUDE_DIR  - the GL include directory
         OPENGL_LIBRARIES    - Link these to use OpenGL and GLU


       If you want to use just GL you can use these values

         OPENGL_gl_LIBRARY   - Path to OpenGL Library
         OPENGL_glu_LIBRARY  - Path to GLU Library


       On OSX default to using the framework version of opengl

People will have to change the cache values of OPENGL_glu_LIBRARY and OPENGL_gl_LIBRARY to use OpenGL with X11 on OSX

       Defined in: /usr/share/cmake/Modules/FindOpenGL.cmake