我正在尝试编译一个使用QtOpenGL的软件,但由于-lGLU不存在,我得到了一个链接错误。使用了cmake。在我看来,CMakeLists.txt文件中唯一相关的行是find_package(Qt4 REQUIRED)
系统为Linux 64位,Debian不稳定,qt版本4.7.3,cmake版本2.8
发布于 2011-07-26 06:05:38
GLU既不是OpenGL的一部分,也不是Qt的一部分。您必须手动将其添加为附加依赖项;CMake FindOpenGL模块还会搜索GLU
% cmake --help-module FindOpenGL cmake版本2.8.1 FindOpenGL尝试查找OpenGL完成后,将定义OPENGL_FOUND - system has OpenGL OPENGL_XMESA_FOUND - system has XMESA OPENGL_GLU_FOUND - system has GLU OPENGL_INCLUDE_DIR - GL include directory OPENGL_LIBRARIES -链接这些目录以使用OpenGL和GLU (如果需要要只使用GL,您可以使用这些值OPENGL_gl_LIBRARY - OpenGL库的路径OPENGL_glu_LIBRARY - OSX上的GLU库的路径默认使用opengl的框架版本
用户必须更改OPENGL_glu_LIBRARY和OPENGL_gl_LIBRARY的缓存值,才能在OSX上使用OpenGL和X11
定义于: /usr/share/cmake/Modules/FindOpenGL.cmake
发布于 2012-04-10 20:48:42
我是这样解决的:
target_link_libraries(MyProgram ${QT_LIBRARIES} GL GLU glut)发布于 2011-07-26 06:21:27
如果使用set(QT_USE_QTOPENGL TRUE),则-lGLU将包含在链接器选项中:
find_package(Qt4 REQUIRED)
set(QT_USE_QTOPENGL TRUE)
include(${QT_USE_FILE})
message("Libs: ${QT_LIBRARIES}")
add_executable(program main.cpp)
target_link_libraries(program ${QT_LIBRARIES})https://stackoverflow.com/questions/6822658
复制相似问题