PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : gcc unter linux - kann verschiedene libs nicht finden



stefan-tiger
31-03-2003, 13:31
Hallo,

also ich bin neu auf dem gebiet hier, habe schon die suchfunktion benutzt aber nichts hilfreiches gefunden.

ich versuche gerade aus einem programmier tutorial (http://www.heise.de/ix/artikel/1999/12/160/) ein programm zu compilieren.

dafür sind einige libs erforderlich. habe also erstmal überprüft ob die entsprechenden rpm dateien installiert sind (Mandrake 9.0). der aufruf zum compilieren sieht so aus:

gcc test.c -lMesaGLU -lMesaGL -lXext -lX11 -lm -lglut -lXi -lXmu -B/usr/X11/lib -o test.bin

und leider kommt folgende fehlermeldung:

/usr//bin/ld: cannot find -lMesaGLU
collect2: ld returned 1 exit status

ich vermute entweder hab ich die entsprechenden libs nicht installiert (was ich hoffentlich ausschliessen kann) oder irgendwelche umgebungsvariablen fehlen.

(ldconfig hab ich schon durchgeführt)

hier meine newbie fragen:

1. wie find ich manuell die entsprechenden libs? es gibt ja soviele lib verzeichnisse, für mich noch etwas durcheinander.
2. falls ich die libs dann finde wie bringe ich den gcc dazu diese zu benutzen?

danke

arthur
31-03-2003, 16:50
suche einfach nach libMesaGLU* (*= wildcard)
solltest du es finden dann kannst du dem Compiler den Pfad mit -L/xxx/yyy/ übergeben

stefan-tiger
31-03-2003, 17:07
alles klar mit

gcc test.c -L/usr/X11R6/lib -lGLU -lGL -lXext -lX11 -lm -lglut -lXi -lXmu -B/usr/X11/lib -o test.bin

hat es geklappt, allerdings muss ich mich wundern weil /usr/X11R6/lib in der datei /etc/ld.so.conf aufgeführt ist. müssten die libs dann nicht automatisch gefunden werden??

gruß

anda_skoa
31-03-2003, 20:01
Beim Ausführen findet er sie ja auch.
ld.so.conf ist für den Runtime Linker.

Beim Linken zur Buildzeit, musst du den Pfad angeben, wenn die lib nicht in /usr/lib ist.

Ciao,
_