GL/glew.h:未设置包含路径



我试图构建一个glfw和glew c++代码,但在构建时遇到了以下错误:

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

任何帮助都将不胜感激。

操作系统: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。

最新更新