CMake目标链接库“无法找到GLUT(缺少:GLUT_glut_LIBRARY)”

时间:2013-11-04 02:44:16

标签: c++ c cmake

以下是我的cmake文件,我收到错误“无法找到GLUT(缺少:GLUT_glut_LIBRARY)”。我想我的目标链接库存在问题。我究竟做错了什么?

cmake_minimum_required(VERSION 2.6)

SET(MY_PROJECT_NAME Test_1)
SET(MY_SOURCE_FILES Task_1.cpp)
SET(GLUT_INCLUDE_DIR C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\GL)
SET(GLUT_LIBRARY C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\glut32.lib)

project(${MY_PROJECT_NAME})

# required libraries
find_package(OpenGL REQUIRED)
find_package(GLUT   REQUIRED)

# include directories
include_directories(
    ${GLUT_LIB_DIR}
    ${OPENGL_INCLUDE_DIR}
    ${GLUT_INCLUDE_DIR}
)

# source code files (sources *and* headers )
add_executable(${MY_PROJECT_NAME}
    ${MY_SOURCE_FILES}
)

# link against these libraries
target_link_libraries(${MY_PROJECT_NAME}
    ${GLUT_LIBRARY} 
    ${OPENGL_LIBRARY}
)

1 个答案:

答案 0 :(得分:1)

不要将路径硬编码到CMakeLists中!它打破了CMake作为便携式构建系统的整个目的。

如果要覆盖CMake查找脚本获取的值,请通过命令行或其中一个cmake UI(ccmakecmake-gui)提供值。

另外,请务必至少检查所有使用的查找模块的documentation,如果仍然存在问题,请直接转到source code。例如,您使用的GLUT_LIB_DIR变量不存在。另请注意,find脚本使用GLUT_ROOT_PATH变量作为Windows上本地GLUT安装位置的提示。

最后,确保您的机器上实际安装了GLUT。默认情况下,Visual C ++ 附带GLUT,因此您可能必须先自行下载并构建它。