2 votes

glui.h non trouvé

J'ai installé glui en utilisant homebrew

$ brew info glui
glui: stable 2.36
C++ user interface library
http://glui.sourceforge.net/
 /usr/local/Cellar/glui/2.36 (3 files, 594K) *
  Built from source
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/glui.rb

Cependant, quand j'essaie d'utiliser l'en-tête en C++ avec <glui.h> , <GL/glui.h> ou <GLUI/glui.h> il donne un ... not found erreur. Comment dois-je installer glui pour qu'il puisse être trouvé par c++ ?

0 votes

Je ne sais pas si cela convient ici ou sur Stack Overflow. Si vous avez du code qui ne compile pas, veuillez poster ce code et votre environnement de développement (quel compilateur C++ / options utilisez-vous). Et signalez le pour la migration vers SO. Si vous utilisez homebrew pour installer un paquet qui dépend de glui - cela pourrait être le sujet ici, mais je suppose que vous faites du code et espérez utiliser brew pour simplifier l'installation d'une dépendance...

0 votes

@bmike le code qui échoue est #include <GL/glui.h>, donc le seul problème que j'ai est qu'il ne peut pas trouver un en-tête installé par homebrew, qui je m'attendrais à être mis dans le chemin correct automatiquement.

2voto

Oskar Points 1242

Homebrew place les fichiers dans /usr/local/Cellar donc vous pouvez utiliser mdfind pour localiser le fichier d'en-tête :

mdfind -name glui.h | grep Cellar

Vous pouvez alors modifier votre compilateur pour inclure le répertoire de ce paquet :

clang -I /usr/local/Cellar/glui/2.36/include

Alors vous devriez être capable d'utiliser le chemin court au lieu de coder en dur votre glui.h complet dans le code source.

#include <GL/glui.h>

Donc - ne changez pas l'installation et changez plutôt le chemin de recherche de votre compilateur C++ pour rechercher le code glui installé est mon conseil. Encore mieux, brew lie la dernière version des fichiers include à /usr/local/include - donc vous devriez plutôt lier à l'include général et non à un Cellar spécifique à une version pour à peu près tous les cas d'utilisation où vous ne voulez pas épingler une version exacte de glui ou une autre bibliothèque.

clang -I /usr/local/include

3 votes

Brew place automatiquement les liens dans /usr/local/include ce point dans la cave. Donc le compilateur devrait juste être pointé vers /usr/local/include et il trouvera les fichiers liés dans /usr/local/Cellar/glui/2.36/include à partir de là. L'avantage de cette méthode est que les autres fichiers d'en-tête installés par brew seront également pris en compte par cette seule commande include. De plus, si @Niek met à jour glui vers une nouvelle version, le compilateur le prendra automatiquement en compte car brew changera le lien pour pointer vers la nouvelle version.

1 votes

@AlistairMcMillan Vous avez tout à fait raison ! J'ai manqué le lien symbolique GL et je n'ai pas essayé ça en premier. Merci pour cette meilleure réponse

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X