首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >要安装哪个包才能获得头文件glad.h?

要安装哪个包才能获得头文件glad.h?
EN

Ask Ubuntu用户
提问于 2019-11-05 19:26:00
回答 1查看 13.2K关注 0票数 6

我正在试图编译这个示例https://learnopengl.com/Getting-started/Hello-Window

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

我已经安装了libglfw3-dev,但是我仍然缺少glad.h头文件。在packages.ubuntu.com上搜索没有结果。有一个用于github页面glad,但据我所知,它没有提供glad.h

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2019-11-05 20:33:57

感谢@ on 37网站上的评论!下面是我所做的工作:转到网络服务并下载所需的文件:

检查“本地文件”选项并单击右下角的"Generate“按钮,

glad.zip文件下载到当前目录并解压缩它。

创建一个测试程序 test.cpp

代码语言:javascript
复制
#include <iostream>
#include "glad.h"
#include <GLFW/glfw3.h>  
void framebuffer_size_callback(GLFWwindow* window, int width, int height)
{
    glViewport(0, 0, width, height);
}

int main() {
    glfwInit();
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
    //glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
    GLFWwindow* window = glfwCreateWindow(800, 600, "LearnOpenGL", NULL, NULL);
    if (window == NULL) {
            std::cout << "Failed to create GLFW window" << std::endl;
            glfwTerminate();
            return -1;
    }
    glfwMakeContextCurrent(window);
    if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)) {
        std::cout << "Failed to initialize GLAD" << std::endl;
        return -1;
    }
    glViewport(0, 0, 800, 600);
    glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);
    while(!glfwWindowShouldClose(window)) {
        glfwSwapBuffers(window);
        glfwPollEvents();    
    }
    glfwTerminate();
    return 0;
}

编译它(记得先安装libglfw3-dev ):

代码语言:javascript
复制
g++ -c glad.c 
g++ test.cpp -o my_test glad.o -lglfw -ldl

运行它:

代码语言:javascript
复制
$ ./my_test

(它在屏幕上显示一个空窗口)

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

https://askubuntu.com/questions/1186517

复制
相关文章

相似问题

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