GL/glew.h: 没有包含路径集

GL/glew.h: no include path set

我正在尝试构建 glfw 和 glew C++ 代码,但在构建时出现以下错误:

fatal error C1034: GL/glew.h: no include path set

感谢任何帮助。

OS: Windows 10

编译器:MSVC++ 17.0.3

软件包安装程序:vcpkg

IDE: Visual Studio 代码

构建: Cmake

CmakeLists.txt :

cmake_minimum_required(VERSION 3.0.0)
project(my_project VERSION 0.1.0)

include(CTest)
enable_testing()

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_TOOLCHAIN_FILE C:/Users/pc/vcpkg/scripts/buildsystems/vcpkg.cmake)

add_executable(
  my_project
  main.cpp
)

INCLUDE_DIRECTORIES(
  c:/Users/pc/vcpkg/installed/x86-windows/include/
)

LINK_DIRECTORIES(
  c:/Users/pc/vcpkg/installed/x86-windows/lib/
)

find_package(fmt CONFIG REQUIRED)
find_package(GLEW REQUIRED)
find_package(glfw3 REQUIRED)
find_package(freetype CONFIG REQUIRED)
find_package(glm CONFIG REQUIRED)

TARGET_LINK_LIBRARIES(my_project
  glfw glm::glm GLEW::GLEW freetype fmt::fmt
)

set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)

project(my_project VERSION 0.1.0) 之后设置 CMAKE_TOOLCHAIN_FILE 不起作用,因为 project(my_project VERSION 0.1.0) 加载了 CMAKE_TOOLCHAIN_FILE。所以把它移到project()

之前

也删除

INCLUDE_DIRECTORIES(
  c:/Users/pc/vcpkg/installed/x86-windows/include/
)

LINK_DIRECTORIES(
  c:/Users/pc/vcpkg/installed/x86-windows/lib/
)

因为针对上述目标进行链接应该绰绰有余! (也总是使用 target_* 函数。)

进一步增加

cmake_minimum_required(VERSION 3.0.0)

为了一些合理的事情。您可能不打算支持旧版本的 cmake。如果您不需要支持古老的 linux 发行版,您可以至少移动到 3.17。如果你只打算支持 windows 你可以直接移动到 3.22 或使用任何 vs 使用。 vcpkg 当前为 3.21。