编译 OpenGL 程序(缺少 GL/gl.h)

编译 OpenGL 程序(缺少 GL/gl.h)

我是一个彻底的 Linux/Ubuntu 新手,因此对于这个问题或后续问题中的任何愚蠢部分,我深表歉意。

我正在尝试将软件工程班的小组编写的程序放到我家的电脑上。在学校,我们有 Linux,它可以在那里编译和运行。我下载了 VMWare,在虚拟机上安装了 Ubuntu,现在正在尝试打开我的程序。

然而,每当我尝试运行 make 文件时,我都会收到一条错误消息

gcc -I../include -pthread -O1 -c rain.c
In file included from rain.c:19:0:
../include/GL/glfw.h:176:21: fatal error: GL/gl.h: No such file or directory
compilation terminated.
make: *** [rain.o] Error 1

有人知道为什么我的学校电脑可以找到这个文件,却找不到它吗?我需要做什么才能下载它或将它放到正确的位置?

答案1

我猜你没有任何开发包提供 gl.h.apt-file是可用的命令行工具。

首先,确保它是最新的:

apt-file update

现在您可以编写一个搜索来回答“哪个包提供了 gl.h 文件?”

apt-file search "gl.h"

我现在没有 ubuntu 盒子可以检查,但我猜结果会像 mesa-dev 或 opengl-dev 之类的东西。

一旦您知道哪个包提供了“gl.h”(假设 apt-file 的结果是“libmesa-dev”),请安装它:

apt-get install libmesa-dev

有关 apt 系列命令的更多信息:https://help.ubuntu.com/community/AptGet/Howto

答案2

用来GL/gl.h

sudo apt install mesa-common-dev

您可能还会发现这些内容很有帮助,例如GL/glu.h

sudo apt install libglu1-mesa-dev freeglut3-dev

答案3

Ubuntu 20.04:

GL.h可以从包中安装libgl-dev

sudo apt install libgl-dev

答案4

您还可以构建 glproto (关联)、libdrm(关联),然后是台面(关联) 来自源代码。虽然许多其他软件包可能包含此头文件,但转到源代码很重要。这将减少安装的内存占用,并确保您拥有最新和/或最好的版本。

相关内容