首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在CMake和vcpkg中找不到GLFW目录

在CMake和vcpkg中找不到GLFW目录
EN

Stack Overflow用户
提问于 2017-07-25 10:53:13
回答 1查看 5.7K关注 0票数 3

当在CMake中使用CMake时,我一直无法弄清楚如何让CMake找到并设置正确的GLFW VS2017常量。任何帮助都将不胜感激:)。

我通过微软的glfw3工具下载了vcpkg。我已经检查了vcpkg将它们放入的目录(~\vcpkg\installed\x86-windows\include)中确实存在的文件。我按照他们的docs 这里设置了我的这里。我使用该教程作为使GLFW被正确设置的基础。

然后使用find_package(glfw3 REQUIRED)查找glfw3库。这不会产生任何错误。实际上,CMakeLists.txt一点也不抱怨。这是在编译阶段,它抱怨。

之后,我将glfw3target_link_libraries(exe ${GLFW3_LIBRARIES})添加到可执行文件中。

然后,当我尝试构建一个简单的示例(包括头文件)时,编译会失败,因为它找不到GLFW/glfw3.h

来自MSVC的错误:

代码语言:javascript
运行
复制
fatal error C1083: Cannot open include file: 'GLFW/glfw3.h': No such file or directory 

这里是我的CMakeLists.txt以供添加参考:

代码语言:javascript
运行
复制
cmake_minimum_required(VERSION 3.7)
project(learn-opengl)
find_package(glfw3 REQUIRED)

add_executable(learn-opengl main.cpp)
target_link_libraries(learn-opengl ${GLFW3_LIBRARIES})

GLFW3_LIBRARIES --我是通过窥探vcpkg在安装目录(~\vcpkg\installed\x86-windows\share\glfw3)中放置的内容而从glfw3Config.cmake获得的。

以防万一,main.cpp

代码语言:javascript
运行
复制
#include <GLFW/glfw3.h>

int main()
{
    return 0;
}

我也尝试过从命令行调用cmake,但也没有效果。

我是不是遗漏了什么?我是不是误解了vcpkg文档中的某些内容?我真的不知道我错过了什么..。:/此外,我还应该说,我对CMake也相当陌生。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-25 13:35:58

将我以前的评论改写为:

应该将导入的目标glfw添加到target_link_libraries命令中,而不是${GLFW3_LIBRARIES}find_package(glfw3)生成一个导入目标glfw。通过使目标learn-opengl依赖于此导入的目标,您可以指定要链接的库和要使用的包含目录。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45301208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档