find_package(OpenGL)会为您找到软件包,但不会将软件包链接到目标。
要链接到库,可以使用
target_link_libraries(<target> <item>)。此外,您还需要设置
includedirectory,以便链接器知道在哪里寻找东西。这是通过完成的
include_directories。
一个
CMakeLists.txt执行此 *** 作的示例如下所示:
cmake_minimum_required(VERSION 2.8)project(testas)add_executable(testas main.cpp)find_package(OpenGL REQUIRED)find_package(GLUT REQUIRED)include_directories( ${OPENGL_INCLUDE_DIRS} ${GLUT_INCLUDE_DIRS} )target_link_libraries(testas ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} )
如果
OpenGL对于您的项目是必要的,则可以考虑在
OpenGL_FOUND之后进行测试,
find_package(OpenGL)或使用
REQUIRED,
cmake如果
OpenGL找不到则将停止测试。
有关更多信息和更好的示例:
- CMake 2.8文档,target_link_libraries
- CMake 2.8文档,find_package
- CMake Wiki:如何查找库
- 解决方案论坛帖子:cmake和opengl
- swarthmore.edu的 CMake教程
特别是
CMake wikiand
cmake and opengl链接应该给您足够的帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)