代码之家  ›  专栏  ›  技术社区  ›  segmentation_fault

找不到包含CMake和vcpkg的GLFW目录

  •  2
  • segmentation_fault  · 技术社区  · 7 年前

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

    我下载了 glfw3 通过微软的 vcpkg 工具我已检查文件是否实际存在于 vcpkg 把它们放进去( ~\vcpkg\installed\x86-windows\include CMakeSettings.json 根据他们的文件 here

    然后我使用 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 文档我真的不知道我错过了什么…:/。

    1 回复  |  直到 7 年前
        1
  •  5
  •   vre    7 年前

    将我之前的评论改写为答案:

    您应该添加导入的目标 glfw 给你的 target_link_libraries 命令而不是 ${GLFW3_LIBRARIES} . 这个 find_package(glfw3) glfw公司 learn-opengl