<glad/glad.h>:没有这样的文件或目录

问题描述 投票:0回答:3

我正在按照 本教程 学习 OpenGL,但由于编译器找不到头文件之一,所以我在编译时遇到问题。

这是我正在尝试编译的文件:

#include <glad/glad.h>
#include <GLFW/glfw3.h>

int main() {    
  return 0;
}

为了编译,我正在使用

$ gcc -o sandbox sandbox.cpp -lGL -lGLU -lglut

我收到以下错误:

sandbox.cpp:1:23: fatal error: glad/glad.h: No such file or directory
#include <glad/glad.h>
                   ^
compilation terminated.

我遵循了 此 wiki 的前两部分 安装 OpenGL 和库。

我认为问题要么是错误的编译命令,要么是我的 OpenGL 安装中存在缺陷。

c++ opengl glfw glad
3个回答
3
投票

GLAD 是 OpenGL 的函数加载器。本教程解释了如何设置。

教程解释了 GLAD 的目的:

由于OpenGL驱动有很多不同的版本,其大部分函数的位置在编译时是未知的,需要在运行时查询。

GLAD 的设置涉及使用 Web 服务器生成特定于您的 GL 版本、扩展和语言的源文件和头文件。然后将源文件和头文件放置在项目的 src 和 include 目录中。


2
投票

如果您正在查看这个简单的GLFW示例,您可以删除glad/gl.h包含,以及

gladLoadGL(glfwGetProcAddress);

再往下走。 如果您使用的是 Linux,例如 ubuntu, 你不需要很高兴,只需添加这两个标题即可:

#include <GLES2/gl2.h>
#include <EGL/egl.h>

如果示例保存为glfw_ex2.c,您可以在命令行中编译它,如下所示:

g++ glfw_ex2.c -lglfw -lGLESv2

当然,对于本示例,linmath.h 必须存在于同一目录中。

如果缺少什么,可以这样安装并再次尝试编译:

sudo apt install libglfw3-dev libgles2-mesa-dev libegl1-mesa-dev

sudo apt install build-essential

然后像这样运行它:

./a.out


0
投票

我建议你在VSCode中按F5运行并调试程序,如果你将目录中名为“mingw32-make.exe”的文件更改为“make.exe”,你可以尝试执行命令“make run”存在文件“makefile”

© www.soinside.com 2019 - 2024. All rights reserved.