2010-05-06 31 views
11

J'ai téléchargé la dernière GLUI source code et maintenant je suis en train de le compiler. Quand je le fais, je reçois l'erreur suivante:GLUI/usr/bin/ld: ne peut pas trouver -lXmu

g++ -O0 -Wall -pedantic -I./ -I./include -I/usr/X11R6/include -o bin/example1 example/example1.cpp -L./lib -lglui -L/usr/X11R6/lib/libXdmcp.a -lglut -lGLU -lGL -lXmu -lXext -lX11 -lXi -lm 
/usr/bin/ld: cannot find -lXmu 
collect2: ld returned 1 exit status 

Quand je l'ai fait une locate libXmu, je reçois la sortie suivante:

> %:~/src/GLUI/src$ locate libXmu 
> /usr/lib/libXmu.so.6 
> /usr/lib/libXmu.so.6.2.0 
> /usr/lib/libXmuu.so.1 
> /usr/lib/libXmuu.so.1.0.0 

-je obtenir l'erreur parce que je n'ai pas/usr/lib/libXmu.so? Si c'est le cas, comment puis-je en faire un? (Je n'ai pas l'expérience de la liaison du tout).

Merci!

Répondre

6

La réponse était en fait l'un des premiers ici à l'origine, mais le propriétaire a supprimé, il semble. J'ai été capable de résoudre le problème en créant un lien symbolique vers la dernière version de la bibliothèque (c'est-à-dire /usr/lib/libXmu.so.6) et de compiler le code avec succès.

+3

Merci. Pour mon Ubuntu 12.04 64 bits, je l'ai eu avec cette commande: 'sudo ln -s /usr/lib/x86_64-linux-gnu/libXmu.so.6 /usr/lib/libXmu.so' –

6

Les distributions Linux regroupent généralement les bibliothèques nécessaires à l'exécution des programmes séparément des fichiers nécessaires à la création de programmes.

Recherchez les packages nommés * -devel ou * -dev.

Je ne sais pas lequel vous avez besoin en particulier pour cela, mais vous pouvez utiliser apt-cache pour chercher.

+1

'sudo apt-get install libxmu-dev libxmu-headers' – Salami

0

J'ai eu le même problème, si la création d'un lien symbolique ne aide pas, les opérations suivantes:

  1. Imprimer $ PATH (« echo $ PATH »), et vérifier si le fichier de bibliothèque que vous avez besoin est dans l'un de ces répertoires. Utilisez "export PATH =/nouvellement/ajouté/chemin: $ PATH" pour ajouter un nouveau répertoire à vérifier.
  2. Ive été notamment libevent, a ajouté « -levent » dans la commande gcc et ld utilisé le fichier /usr/lib/libevent.so, il semble que le préfixe « lib » et l'extension sont automatiquement ajoutés par ld.

Keep it up.