首页 > 系统相关 >Linux OpenGL (1)——环境搭建(GLFW, glad)

Linux OpenGL (1)——环境搭建(GLFW, glad)

时间:2023-12-22 14:55:22浏览次数:50  
标签:头文件 OpenGL GLFW glad Linux include 下载

所有代码和过程都已经过测试
测试环境:Ubuntu WSL 18.04

为什么需要 GLFW 和 glad 库

我粗浅的理解:opengl 并没有提供一些跨平台代码的实现细节,因此,需要根据不同的平台下载一些库来填充 opengl 中“空虚”的函数。

如何安装 GLFW 和 glad 库

安装 GLFW

# 安装 GLFW
sudo apt-get install libglfw3-dev

安装 glad

  1. 查看 OpenGL 版本

    sudo apt install mesa-utils
    DISPLAY=:0 glxgears -info | grep GL_VERSION
    

    GL_VERSION = 3.1 Mesa 20.0.8

    可以看到,版本是 3.1

  2. 下载 glad 压缩包

    下载地址

    在 API 部分选择自己的版本,然后点击网页右下角的 GENERATE 进入下载页面。在下载页面中下载 glad.zip

    image

  3. 解压压缩包,安装库文件

    进入下载目录执行

    mkdir glad && unzip glad.zip -d glad && cd glad/include
    sudo mv glad/ /usr/local/include
    sudo mv KHR/ /usr/local/include
    cd ../../ && rm -r glad
    

测试和注意事项

// main.cpp
#include <glad/glad.h>      // glad 头文件必须放在所有头文件之前
#include <GLFW/glfw3.h>

int main(){
    return 0;
}
g++ main.cpp
./a.out

注意:glad 头文件必须放在所有 OpenGL 头文件之前,否则会报错!

报错示范:

In file included from main.cpp:2:0:
/usr/local/include/glad/glad.h:27:2: error: #error OpenGL header already included, remove this include, > glad already provides it
#error OpenGL header already included, remove this include, glad already provides it
^~~~~

标签:头文件,OpenGL,GLFW,glad,Linux,include,下载
From: https://www.cnblogs.com/torch-hxm/p/17921498.html

相关文章

  • QCN9024|Wallys DR9074-TRIBAND Now Supported by ATH11K for Enhanced Linux Compati
    QCN9024|WallysDR9074-TRIBANDNowSupportedbyATH11KforEnhancedLinuxCompatibility!WallysisthrilledtoannouncethatourDR9074-TRIBANDisnowsupportedbyATH11K.ThisnotonlyextendsitsusabilitybeyondQualcommplatformsbutopensdoorsforint......
  • 盘点Linux系统中常用的防火墙工具!
    防火墙是一种网络安全工具,它可以控制网络通信并保护系统免受网络攻击,因此Linux系统也会采用防火墙来保护自己免受攻击。那么Linux中常用的防火墙工具有哪些?以下是具体内容介绍。以下是几个常用的防火墙工具推荐:1、iptables:iptables是Linux上最常用的防火墙工具之一。......
  • Linux中大括号主要作用是什么?需要注意哪些?
    在Linux中,不同的括号有着不同的作用。那么Linux中的大括号代表什么意思?在Linux中,大括号是一种有着特定作用和用途的符号,其具有强大的扩展功能,可以帮助用户快速完成相关工具,接下来我们来看看具体的内容介绍。在Linux中,大括号用于扩展和重复命令、生成文件列表以及进行字符......
  • Linux内核在RISC-V架构下的spinlock实现
    riscv没有sev/wfe指令,当前无法在spinlock时省功耗,只能通过while循环不断检查条件。本文分析linux内核下对于spinlock的实现,具体到RISC-V体系结构。由于RISC-V体系结构下目前只是简单的实现了一个基于TAS的最基本的spinlock,本文的另一个附加任务就是分析Linux内核为各个平台下实......
  • linux下域名解析工具
    1、dig[root@hlcc_mastermysqlinit]#digwww.baidu.com;<<>>DiG9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.13<<>>www.baidu.com;;globaloptions:+cmd;;Gotanswer:;;->>HEADER<<-opcode:QUERY,status:NOERROR,id:723......
  • linux 如何删掉一些特殊字符的文件夹,比如带有空格,单引号,双引号的
    在Linux中删除包含特殊字符(如空格、单引号、双引号)的文件夹,你需要使用转义字符或引号来正确地指定文件夹名。以下是一些常用方法:使用反斜杠(\)转义特殊字符:如果文件夹名包含空格,比如MyFolder,你可以使用\来转义空格:rm-rMy\Folder/对于包含单引号或双引号的文件夹,同样......
  • 26k star!Linux不熟悉,快用这个帮助你
    作为一个IT从业者,熟练使用Linux是一项非常重要的能力,不过我想问问电脑前的你,你真的对Linux命令很熟悉吗?我想答案可不一定都是肯定的,说实话笔者就经常不记得改用什么命令或具体怎么用。今天我们推荐一款涵盖了大部分的Linux命令的开源项目,在GitHub已超过23KStar,它就是:linux-command......
  • 上手 Linux:快速入门 Vim
    Vi和VimVi是Linux操作系统默认的文本编辑器。Vim是Vi的加强版。不仅可以做简单的文字编辑,它也有颜色高亮,语法提示等特性,可以用作编程。现在大部分的Linux发行版都同时包含Vi和Vim。在Linux操作系统中,Vim是必须掌握的一个工具:作为命令行模式下的文本编辑器非常好用......
  • linux -bash: fork: retry: No child processes 解决
    Text.Text.Text.Text.[ubuntu@iZj6cc8f0831kkdffvlhjhZtools]$date-bash:fork:retry:Nochildprocesses-bash:fork:retry:Nochildprocesses-bash:fork:retry:NochildprocessesFriDec2209:56:49CST2023corefilesize(blocks,-c)......
  • Windows, Mac, Linux 上修改文件【修改时间】属性的方法(命令行方法)
    某些公司比较恶心,忘记打卡要补卡时需要提供工作记录,以证明你在下班时间点后还在公司的记录,一般是参考电脑文件属性里的【修改时间】。有时并不能找到带有合适修改时间的文件,毕竟,正经人谁下班之后还工作啊!这时,可以使用命令行修改【修改时间】这个属性。Windows上打开CMD,Mac/Linu......