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

时间:2017-08-03 19:24:54

标签: opengl

我跟随this tutorial学习OpenGL,但由于编译器无法找到其中一个头文件,我编译时遇到了问题。

这是我试图编译的文件:

Key Value

要编译,我使用

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

int main() {    
  return 0;
}

我收到以下错误:

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

我按照this wiki 的前两部分安装了OpenGL和库。

我认为问题是错误的编译命令或我的OpenGL安装中的缺陷。

2 个答案:

答案 0 :(得分:1)

GLAD是OpenGL的函数加载器。这个tutorial解释了如何设置它。

本教程解释了GLAD的目的:

  

由于OpenGL驱动程序有许多不同版本,因此大多数函数的位置在编译时都是未知的,需要在运行时查询。

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

答案 1 :(得分:0)

如果您正在查看这个简单的 GLFW example,您可以删除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

Screenshot from the glfw example on ubuntu