编译 OpenGL 4 Shading Language Cookbook, 3rd Edition 的例子时出错

Error in compiling the examples of OpenGL 4 Shading Language Cookbook, 3rd Edition

我从 PacktPublishing github

下载了 OpenGL 4 Shading Language Cookbook 第三版的源代码

我已经下载了glm源代码版本glm-0.9.9.3和 我已经下载了glfw源代码版本glfw-3.2.1。 我使用 "cmake ."

成功编译、构建和安装了 glm 和 glfw

为了找到 GLFW 安装,我在 src(示例)文件夹中执行了以下命令

cmake -D CMAKE_PREFIX_PATH=e:\mysrcpath\glfw-3.2.1\src .

我收到以下错误

-- Selecting Windows SDK version  to target Windows 10.0.17134.
CMake Error at E:/glfw-3.2.1/src/glfw3Config.cmake:1 (include):
include could not find load file:

E:/glfw-3.2.1/src/glfw3Targets.cmake
Call Stack (most recent call first):
CMakeLists.txt:13 (find_package)

-- Found OpenGL: opengl32
-- Configuring incomplete, errors occurred!

glfw3Config.cmake 有代码

include("${CMAKE_CURRENT_LIST_DIR}/glfw3Targets.cmake")

"CMAKE_CURRENT_LIST_DIR" 是

E:/glfw-3.2.1/src/

但是 glfw3Targets.cmake 位于

E:/glfw-3.2.1/CMakeFiles/Export/lib/cmake/glfw3/

'cmake' 构建无法在正确的路径中找到 glfw3Targets.cmake。

如何解决这个问题?

似乎 GLFW 版本 3.2.1 不支持直接从构建树中使用它。您应该安装 GLFW 并将目录添加到 cmake 前缀路径。

在 glfw 目录中:

mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=c:/local/ ..
cmake --build . --target install

然后在为您的项目调用 cmake 时:

cmake -D CMAKE_PREFIX_PATH=c:/local/