gpt4 book ai didi

c++ - CMake 无法在 Clion 的 Windows 上找到 freeglut

转载 作者:行者123 更新时间:2023-11-28 01:48:18 46 4
gpt4 key购买 nike

我已经被困了一段时间了,我不知道如何让 freeglut 工作。我以为我知道它要我做什么,所以我添加了 set(prefix_path) 行,但它什么也没做。我应该编写自己的 freeglut-config.cmake 还是什么?

注意:我正在使用这个 website 中的 MinGW 包的 freeglut

CMake 文件:

cmake_minimum_required(VERSION 3.7)
project(HW1)
set(CMAKE_CXX_STANDARD 11)
set(SOURCE_FILES Triangle.cpp)
set(CMAKE_PREFIX_PATH "C:/freeglut")

find_package(GLEW REQUIRED STATIC)
find_package(FREEGLUT REQUIRED)
find_package(OPENGL REQUIRED)

include_directories(${FREEGLUT_INCLUDE_DIRS} ${GLEW_INCLUDE_DIRS} ${OPENGL_INCLUDE_DIRS})
link_directories(${FREEGLUT_LIBRARY_DIRS} ${GLEW_LIBRARY_DIRS} ${OPENGL_LIBRARY_DIRS})
add_definitions(${FREEGLUT_DEFINITIONS} ${GLEW_DEFINITIONS} ${OPENGL_DEFINITIONS})

add_executable(HW1 ${SOURCE_FILES})
target_link_libraries(HW1 ${FREEGLUT_LIBRARIES} ${GLEW_LIBRARIES} ${OPENGL_LIBRARIES})

完整错误:

CMake Error at CMakeLists.txt:8 (find_package):
By not providing "FindFREEGLUT.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "FREEGLUT",
but CMake did not find one.

Could not find a package configuration file provided by "FREEGLUT" with any
of the following names:

FREEGLUTConfig.cmake
freeglut-config.cmake

Add the installation prefix of "FREEGLUT" to CMAKE_PREFIX_PATH or set
"FREEGLUT_DIR" to a directory containing one of the above files. If
"FREEGLUT" provides a separate development package or SDK, be sure it has
been installed.

最佳答案

如果您的应用程序是 GLUT 兼容的,它不使用 freeglut 的任何扩展,那么最好搜索 GLUT 而不是 FREEGLUT:

find_package(GLUT REQUIRED)

此命令使用的“查找”脚本已发布到 CMake 发行版中,它也可以搜索 freeglut。

(请注意,包含目录和链接库的命令变量分别为 GLUT_INCLUDE_DIRGLUT_LIBRARY)。

如果您的应用程序需要exactly freeglut(也就是说,使用它的一些扩展与其他 GLUT 实现不兼容),您需要发送您的包 strong> 使用 FindFREEGLUT.cmake 脚本并相应地调整 CMAKE_MODULE_PATH 变量:

# Assuming you have <source-dir>/cmake/FindFREEGLUT.cmake
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
find_package(FREEGLUT REQUIRED)

可以在网上找现成的脚本,也可以自己写,比如here .


无论如何,如果您将 freeglut 安装到非系统位置,您需要提示 CMake。例如,通过调整 CMAKE_PREFIX_PATH

关于c++ - CMake 无法在 Clion 的 Windows 上找到 freeglut,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43994489/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com