web-dev-qa-db-ja.com

OpenGLプログラムのコンパイル(GL / gl.hがありません)

私は完全なLinux/Ubuntu初心者なので、この質問の愚かな部分やフォローアップについては謝罪します。

ソフトウェアエンジニアリングクラスのグループが自宅のコンピューターに書き込んだプログラムを取得しようとしています。学校にはLinuxがあり、そこでコンパイルして正常に動作します。 VMWareをダウンロードし、Ubuntuを仮想マシンにインストールしました。現在、プログラムを起動しようとしています。

しかし、メイクファイルを実行しようとすると、エラーが表示されます

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

私の学校のコンピューターでこのファイルが見つからないのに、なぜこのファイルが見つからないのか、誰かが知っているでしょうか?そして、それをダウンロードしたり、適切な場所に置いたりするために必要なことは何ですか?

51
Seldom

Gl.hを提供するdevパッケージは何も持っていないと思います。 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

81
djeikyb

GL/gl.hの場合:

Sudo apt install mesa-common-dev

たとえば、GL/glu.hの場合、これらも役立ちます。

Sudo apt install libglu1-mesa-dev freeglut3-dev
34
Richard

また、ソースからglproto( link )、libdrm( link )、mesa( link )をビルドすることもできます。他の多くのパッケージにはこのヘッダーファイルが含まれている場合がありますが、ソースに移動することが重要です。これにより、インストールのメモリフットプリントが削減され、最新バージョンおよび/または最高のバージョンが確保されます。

1
Adam Erickson