CMake找不到freeglut-3.0.0

时间:2017-06-02 18:49:24

标签: windows cmake freeglut

使用cmake(MinGW makefile)构建Freeglut-3.0.0并使用C:/Program Files (x86)/freeglut成功安装到CMakeLists.txt

我的 cmake_minimum_required(VERSION 3.7) project(math_tests) set(TESTS_SOURCES tests.cpp gl_core_3_3.c) set(CMAKE_CXX_STANDARD 11) # GLUT find_package(GLUT REQUIRED) include_directories(${GLUT_INCLUDE_DIR}) if(NOT GLUT_FOUND) message(ERROR "GLUT not found!") endif(NOT GLUT_FOUND) # OpenGL find_package(OpenGL REQUIRED) include_directories(${OpenGL_INCLUDE_DIRS}) link_directories(${OpenGL_LIBRARY_DIRS}) add_definitions(${OpenGL_DEFINITIONS}) if(NOT OPENGL_FOUND) message(ERROR "OPENGL not found!") endif(NOT OPENGL_FOUND) add_executable(tests ${TESTS_SOURCES}) target_link_libraries(tests math ${GLUT_LIBRARIES} ${OPENGL_LIBRARIES}) 是:

Could NOT find GLUT (missing: GLUT_glut_LIBRARY).

现在CMake打印错误:{{1}}

我无法弄清楚我做错了什么。

1 个答案:

答案 0 :(得分:5)

您的CMakeLists.txt文件声明

find_package(GLUT REQUIRED)

将从FindGLUT.cmake

执行此代码
find_library( GLUT_glut_LIBRARY NAMES glut glut32 freeglut
    PATHS
    ${OPENGL_LIBRARY_DIR}
    ${GLUT_ROOT_PATH}/Release
    )
您的方案中的

find_library无法找到任何glut glut32 freeglut个库,因为它不知道它们的位置(适用于C:/Program Files (x86)/freeglut下)。

在您的情况下,您可以将${OPENGL_LIBRARY_DIR}设置为正确的目录,即包含freeglut.dll文件的目录,例如:

set(OPENGL_LIBRARY_DIR "C:/Program Files (x86)/freeglut/lib")

鉴于该文件位于C:/Program Files (x86)/freeglut/lib目录。