正如标题所说,我似乎无法用OpenGL和Glut构建项目.
我得到OpenGL函数的未定义引用错误.
我试着做:
project(testas)
find_package(OpenGL)
find_package(GLUT)
add_executable(testas main.cpp)
但这不管用.
有什么建议吗?
正如标题所说,我似乎无法用OpenGL和Glut构建项目.
我得到OpenGL函数的未定义引用错误.
我试着做:
project(testas)
find_package(OpenGL)
find_package(GLUT)
add_executable(testas main.cpp)
但这不管用.
有什么建议吗?
find_package(OpenGL)
将为您找到软件包,但它不会将软件包链接到目标.
要链接到库,可以使用target_link_libraries(<target> <item>)
.此外,还需要设置include directory
,以便链接器知道在哪里查找内容.这是用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
是您的项目的必要条件,您可以考虑在find_package(OpenGL)
之后使用测试OpenGL_FOUND
或使用REQUIRED
,如果没有找到OpenGL
,则将停止cmake
.
有关更多信息和更好的示例:
特别是,CMake wiki
和cmake and opengl
链接应该为你提供足够的信息,让你的工作顺利进行.