C++ 致命错误:glad/gl.h:没有这样的文件或目录



我想用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头文件,OpenGL可以正常工作。我使用 OpenGL 成功打开了一个窗口,但是当我包含该标头时,发生了错误:

致命错误:glad/gl.h:没有这样的文件或目录

我的目录结构如下:

.
├── 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正在工作。

最新更新