首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 ><glad/glad.h>:没有这样的文件或目录

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

Stack Overflow用户
提问于 2017-08-04 03:24:54
回答 2查看 30.2K关注 0票数 10

我正在跟随this tutorial学习OpenGL,但是我在编译时遇到了问题,因为编译器找不到任何一个头文件。

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

代码语言:javascript
复制
#include <glad/glad.h>
#include <GLFW/glfw3.h>

int main() {    
  return 0;
}

为了编译,我使用

代码语言:javascript
复制
$ gcc -o sandbox sandbox.cpp -lGL -lGLU -lglut

我得到了以下错误:

代码语言:javascript
复制
sandbox.cpp:1:23: fatal error: glad/glad.h: No such file or directory
#include <glad/glad.h>
                   ^
compilation terminated.

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

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

EN

回答 2

Stack Overflow用户

发布于 2017-08-04 05:53:27

GLAD是用于OpenGL的函数加载器。此tutorial将解释如何设置它。

本教程解释了GLAD的用途:

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

GLAD的设置包括使用web服务器生成特定于您的GL版本、扩展名和语言的源文件和头文件。然后,源文件和头文件被放置在项目的src和include目录中。

票数 3
EN

Stack Overflow用户

发布于 2021-03-25 19:31:30

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

代码语言:javascript
复制
gladLoadGL(glfwGetProcAddress);

再往下走。如果你使用的是linux,例如ubuntu,你不需要glad,只需要添加以下两个头文件:

代码语言:javascript
复制
#include <GLES2/gl2.h>
#include <EGL/egl.h>

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

代码语言:javascript
复制
g++ glfw_ex2.c -lglfw -lGLESv2

当然,在本例中,linmath.h必须位于相同的目录中。

如果缺少任何东西,您可以像这样安装它,然后尝试重新编译:

代码语言:javascript
复制
sudo apt install libglfw3-dev libgles2-mesa-dev libegl1-mesa-dev

sudo apt install build-essential

然后像这样运行它:

代码语言:javascript
复制
./a.out

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45492937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档