2010-05-06 2 views
11

Ich habe die neueste GLUI source code heruntergeladen und jetzt versuche ich es zu kompilieren. Wenn ich so tun, bekomme ich folgende Fehlermeldung:glui/usr/bin/ld: kann -lXmu nicht finden

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 

Wenn ich einen locate libXmu tat, erhalte ich die folgende Ausgabe:

> %:~/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 

Bekomme ich den Fehler, da habe ich nicht a/usr/lib/libXmu.so? Wenn dies der Fall ist, wie kann ich einen machen? (Ich habe überhaupt keine Erfahrung mit Links).

Danke!

Antwort

6

Die Antwort war eigentlich eine der ersten hier ursprünglich, aber der Besitzer löschte es, so scheint es. Ich war in der Lage, das Problem zu lösen, indem ich eine symbolische Verbindung zur letzten Version der Bibliothek (d. H. /usr/lib/libXmu.so.6) herstellte und den Code erfolgreich kompilierte.

+3

Danke. Für mein Ubuntu 12.04 64-Bit habe ich es mit diesem Befehl arbeiten: 'sudo ln -s /usr/lib/x86_64-linux-gnu/libXmu.so.6 /usr/lib/libXmu.so' –

6

Linux-Distributionen enthalten normalerweise die Bibliotheken, die zum Ausführen von Programmen benötigt werden, getrennt von den Dateien, die zum Erstellen von Programmen benötigt werden.

Suchen Sie nach Paketen mit dem Namen * -devel oder * -dev.

Ich weiß nicht, welche Sie speziell dafür benötigen, aber Sie können apt-cache search verwenden, um danach zu suchen.

+1

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

0

hatte ich das gleiche Problem, wenn Sie einen symbolischen Link nicht hilft erstellen, versuchen Sie Folgendes:

  1. PATH ausdrucken $ ("echo $ PATH"), und überprüfen, ob die Bibliotheksdatei benötigen Sie ist in einem dieser Verzeichnisse. Verwenden Sie "export PATH =/neu/hinzugefügt/Pfad: $ PATH", um ein neues zu überprüfendes Verzeichnis hinzuzufügen.
  2. Ich habe libevent eingefügt, "-levent" im gcc-Befehl hinzugefügt, und ld verwendete die Datei /usr/lib/libevent.so, so dass es aussieht, als ob das "lib" -Präfix und die Erweiterung automatisch von ld hinzugefügt würden.

Weiter so.