首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cmake不使用QtOpenGL链接libGLU

cmake不使用QtOpenGL链接libGLU
EN

Stack Overflow用户
提问于 2011-07-26 05:36:56
回答 4查看 8.3K关注 0票数 2

我正在尝试编译一个使用QtOpenGL的软件,但由于-lGLU不存在,我得到了一个链接错误。使用了cmake。在我看来,CMakeLists.txt文件中唯一相关的行是find_package(Qt4 REQUIRED)

系统为Linux 64位,Debian不稳定,qt版本4.7.3,cmake版本2.8

EN

回答 4

Stack Overflow用户

发布于 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

票数 4
EN

Stack Overflow用户

发布于 2012-04-10 20:48:42

我是这样解决的:

代码语言:javascript
复制
target_link_libraries(MyProgram ${QT_LIBRARIES} GL GLU glut)
票数 3
EN

Stack Overflow用户

发布于 2011-07-26 06:21:27

如果使用set(QT_USE_QTOPENGL TRUE),则-lGLU将包含在链接器选项中:

代码语言:javascript
复制
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})
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6822658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档