Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编译OpenGL 4着色语言Cookbook(第3版)示例时出错_Opengl_Cmake_Glfw_Glm Math_Shading - Fatal编程技术网

编译OpenGL 4着色语言Cookbook(第3版)示例时出错

编译OpenGL 4着色语言Cookbook(第3版)示例时出错,opengl,cmake,glfw,glm-math,shading,Opengl,Cmake,Glfw,Glm Math,Shading,我从下载了OpenGL4着色语言烹饪书的源代码,第三版 我已经下载了glm源代码版本glm-0.9.9.3和 我已经下载了glfw源代码版本glfw-3.2.1。 我使用“cmake”成功编译、构建和安装了glm和glfw 为了找到GLFW安装,我在src(examples)文件夹中执行了下面的命令 cmake-D cmake_PREFIX_PATH=e:\mysrcpath\glfw-3.2.1\src 我得到下面的错误 -- Selecting Windows SDK version to

我从下载了OpenGL4着色语言烹饪书的源代码,第三版

我已经下载了glm源代码版本glm-0.9.9.3和 我已经下载了glfw源代码版本glfw-3.2.1。 我使用“cmake”成功编译、构建和安装了glm和glfw

为了找到GLFW安装,我在src(examples)文件夹中执行了下面的命令

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\U CURRENT\U LIST\U DIR”是

但是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时:


谢谢你的快速回复。在执行命令时,我得到了错误>cd e:/glfw-3.2.1>mkdir build&&cd build>cmake-DCMAKE\u INSTALL\u PREFIX=c:/local/--build--目标安装CMake错误:源控制器“E:/glfw-3.2.1/build/install”不存在。如何修复此错误?我可以用Visual Studio生成代码吗?@ArunAC对不起,我的错。我混合了cmake构建命令和生成step@ArunAC如果使用正确的生成器,则不需要打开visual studio,即使使用visual studio生成器也是如此。一切都可以通过命令行完成(更好的脚本化),非常感谢Guillaume。它起作用了。并且,我在命令的末尾添加了“点”。cmake-D cmake_PREFIX_PATH=c:/local/。我将开始使用命令行生成代码和构建代码。谢谢
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=c:/local/ ..
cmake --build . --target install
cmake -D CMAKE_PREFIX_PATH=c:/local/