1
Freeglut-3.0.0使用cmake(MinGW makefiles)和mingw構建,然後使用mingw32-make install
至C:/Program Files (x86)/freeglut
成功安裝。CMake無法找到freeglut-3.0.0
我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})
現在CMake的打印錯誤:Could NOT find GLUT (missing: GLUT_glut_LIBRARY).
我想不出什麼我做錯了。
謝謝!這工作。但是用戶如何指定這個路徑(因爲FindGLUT將需要它的變量而不是OPENG_LIBRARY_DIR,以防它找不到GLUT)?另外,我也在爲Linux構建,而CmakeLists.txt應該可以在兩個平臺上運行。目前它在'if(WIN32)'語句中設置OPENGL_LIBRARY_DIR。 – slavust
爲了多平臺的緣故,最好將[CMAKE_PREFIX_PATH](https://cmake.org/cmake/help/v3.4/variable/CMAKE_PREFIX_PATH.html#variable:CMAKE_PREFIX_PATH)設置爲''''lib/< freeglutlibrary>''',比如''c:/ program files(x86)/ freeglut「'在你的特定場景中。最好避免在cmake中使用任何特定的'SET',但讓最終用戶在配置時用'-DCMAKE_PREFIX_PATH ='設置正確的前綴。也許使用OPTIONS讓最終用戶設置一個特定的路徑到freeglut也是很明智的(而且這個選項的值將會被你的腳本附加到'CMAKE_PREFIX_PATH') –
忘了說,對於Linux你不需要設置任何東西來發現freeglut庫,它應該只是沒有額外的設置 –