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

Sel*_*dom 64 compiling opengl

我是一个完整的 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
Run Code Online (Sandbox Code Playgroud)

有人会碰巧知道为什么在我学校的计算机上找不到这个文件吗?我需要做什么才能下载它或将它放在正确的位置?

dje*_*kyb 102

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

首先,确保它是最新的:

apt-file update
Run Code Online (Sandbox Code Playgroud)

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

apt-file search "gl.h"
Run Code Online (Sandbox Code Playgroud)

我现在没有要检查的 ubuntu 框,但我猜结果将类似于 mesa-dev 或 opengl-dev。

一旦你知道什么包提供了“gl.h”,(让我们假设 apt-file 的结果是“libmesa-dev”),安装它:

apt-get install libmesa-dev
Run Code Online (Sandbox Code Playgroud)

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

  • 哦,伙计,非常感谢你教我钓鱼,而不是只给我包的名字! (24认同)
  • 感谢您提供有关 apt-file 的信息。关于 GL/gl.h 所需的包,它是:`mesa-common-dev`(至少对于 Ubuntu 16.04) (2认同)

Ric*_*ard 52

对于GL/gl.h使用:

sudo apt install mesa-common-dev
Run Code Online (Sandbox Code Playgroud)

您可能还会发现这些有用,例如GL/glu.h

sudo apt install libglu1-mesa-dev freeglut3-dev
Run Code Online (Sandbox Code Playgroud)