在VS2017中使用CMake时,我一直无法弄清楚如何让CMake找到并设置正确的GLFW CMake常量。任何帮助将不胜感激 :)。找不到CMake和vcpkg的GLFW目录
我通过微软的vcpkg
工具下载了glfw3
。我已检查确实在vcpkg
放入的目录中存在文件(~\vcpkg\installed\x86-windows\include
)。我按照他们的文档here设置了我的CMakeSettings.json
。我使用该教程作为获得GLFW正确设置的基础。然后我使用find_package(glfw3 REQUIRED)
找到glfw3
库。这不会吐出任何错误。其实CMakeLists.txt
根本不抱怨。它处于它投诉的编译阶段。
之后,我将glfw3
与target_link_libraries(exe ${GLFW3_LIBRARIES})
添加到可执行文件。
然后,当我尝试构建一个简单的示例(包括头文件)时,编译失败,因为它找不到GLFW/glfw3.h
。
从MSVC的错误:
fatal error C1083: Cannot open include file: 'GLFW/glfw3.h': No such file or directory
这是我CMakeLists.txt
用于补充参考:
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
我从glfw3Config.cmake
周围什么vcpkg
放入安装目录中窥探得到(~\vcpkg\installed\x86-windows\share\glfw3
)
以防万一,main.cpp
:
#include <GLFW/glfw3.h>
int main()
{
return 0;
}
我试图调用命令行cmake
为好,但无济于事这也不能工作。
我错过了什么吗?我可能误解了vcpkg
文档中的某些内容吗?我真的不知道我错过了什么......:/我应该说,另外,我对CMake也是一个新手。
您可以将导入的目标'glfw'或'glfw3'添加到您的'target_link_libraries'命令而不是'$ {GLFW3_LIBRARIES}'吗?这应该解决你看到的错误。 – vre
@vre OMG! 'glfw'工作:D!您是否愿意发表您的评论作为答案,以便我可以解决这个问题?非常感谢!很简单... –