c++ fatal error: glad/gl.h: No such file or directory

c++ fatal error: glad/gl.h: No such file or directory

我想用 C++ 制作一个简单的游戏 & GLFW

我使用 CMake 包含了如下库:

cmake_minimum_required(VERSION 3.15.3)

set(CMAKE_CXX_STANDART 20)

project(tetris_game)

SET(CMAKE_INCLUDE_CURRENT_DIR ON)

find_package(PkgConfig)

pkg_check_modules(opengl REQUIRED gl)

add_subdirectory(${PROJECT_SOURCE_DIR}/libs/glfw3)

add_executable(tetris ./src/main.cpp)

target_link_libraries(tetris ${opengl_LIBRARIES} glfw)
target_include_directories(tetris PUBLIC ${opengl_INCLUDE_DIRS})
target_compile_options(tetris PUBLIC ${opengl_CFLAGS_OTHER})

没有 glad/gl.h header 文件,OpenGL 工作正常。我使用 OpenGL 成功打开了 window,但是当我包含 header 时,出现错误:

fatal error: glad/gl.h: No such file or directory

我的目录结构如下:

.
├── CMakeLists.txt
├── builds
├   ├── more files.
├
├-- libs
├   ├-- glfw3
├   ├   ├-- deps
├   ├   ├   ├-- glad
├   ├   ├   ├   ├-- gl.h
├   ├   ├   ├
├   ├   ├   ├-- glad_gl.c

...

我试过这个解决方案:

而不是

add_executable(tetris ./src/main.cpp)

我用

add_executable(tetris ./src/main.cpp ${PROJECT_SOURCE_DIR}/libs/glfw3/deps/glad/gl.h ${PROJECT_SOURCE_DIR}/libs/glfw3/deps/glad_gl.c)

但是没用。

我刚刚将这两行添加到 CMakeLists.txt

include_directories(${PROJECT_SOURCE_DIR}/libs/glfw3/deps/)
add_executable(tetris ./src/main.cpp ${PROJECT_SOURCE_DIR}/libs/glfw3/deps/glad_gl.c)

现在,OpenGL 正在运行。