web-dev-qa-db-fra.com

Compiler le programme OpenGL (manquant GL / gl.h)

Je suis un noob complet sous Linux/Ubuntu, alors je m'excuse pour toute partie stupide de cette question ou pour les suivantes.

J'essaie d'obtenir un programme que le groupe de ma classe de génie logiciel a écrit sur mon ordinateur personnel. À l’école, nous avons Linux, qui compilera et fonctionnera bien là-bas. J'ai téléchargé VMWare, installé Ubuntu sur une machine virtuelle et j'essaie maintenant de faire ouvrir mon programme.

Cependant, chaque fois que j’essaie d’exécuter mon fichier make, une erreur s’affiche:

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

Est-ce que quelqu'un pourrait savoir pourquoi il ne peut pas trouver ce fichier, alors qu'il le peut sur les ordinateurs de mon école? Et que devrais-je faire pour le télécharger ou le placer au bon endroit?

47
Seldom

J'imagine que vous n'avez pas les paquets de développement fournis par gl.h. apt-file est l'outil de ligne de commande à utiliser.

Tout d'abord, assurez-vous qu'il est à jour:

apt-file update

Maintenant, vous pouvez écrire une recherche pour répondre "quel paquet fournit le fichier gl.h?"

apt-file search "gl.h"

Je n'ai pas de case ubuntu à vérifier pour l'instant, mais je suppose que le résultat sera quelque chose comme mesa-dev ou opengl-dev.

Une fois que vous savez quel paquet fournit "gl.h" (supposons que le résultat de apt-file soit "libmesa-dev"), installez-le:

apt-get install libmesa-dev

Plus d'informations sur la famille de commandes apt: https://help.ubuntu.com/community/AptGet/Howto

76
djeikyb

Pour GL/gl.h, utilisez:

Sudo apt install mesa-common-dev

Vous pouvez également trouver ces informations utiles, par exemple pour GL/glu.h:

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

Vous pouvez également construire glproto ( lien ), libdrm ( lien ), puis mesa ( lien ) à partir du code source. Bien que de nombreux autres packages puissent contenir ce fichier d’en-tête, il est important d’aller à la source. Cela réduira l'encombrement de la mémoire de vos installations et garantira que vous disposez de la version la plus récente et/ou la plus performante.

1
Adam Erickson