编译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
有人会碰巧知道为什么它不能找到这个文件,什么时候它可以在我的学校电脑上? 我需要做些什么来下载它或者把它放到正确的位置?
我猜你没有任何dev软件包提供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
对于GL/gl.h
使用:
sudo apt install mesa-common-dev
您可能还会发现这些有用,例如GL/glu.h
:
sudo apt install libglu1-mesa-dev freeglut3-dev
您还可以从源代码构建glproto( 链接 ),libdrm( 链接 ),然后是mesa( 链接 )。 虽然许多其他包可能包含此头文件,但转到源是很重要的。 这将减少安装的内存占用,并确保您拥有最新版本和/或最新版本。