Compiler: -L Option

08/10/2008 - 21:20 von hmalissa | Report spam
Hallo!
Wie kann ich beeinflussen, wo ein Compiler nach Libraries sucht?
Ich habe eine eigene statische Library geschrieben, beispielsweise
libxyz.a
Das compilieren mit

$CC test.c -L. -lxyz

funktioniert bestens wenn libxyz.a im selben Verzeichnis wie test.c
sitzt, die Library funktioniert offensichtlich.
Ich wuerde mir gerne das '-L.' sparen. Und das auf einem Rechner, wo
ich keine root-Rechte habe.
Meine Idee: ich kopiere libxyz.a ins Verzeichnis ~/lib/, wo spaeter
noch andere Libraries dazukommen.
Wie teile ich dem Compiler dauerhaft mit, dass er auch in ~/lib/ nach
Libraries suchen soll?
Danke schon mal fuer Hinweise.
 

Lesen sie die antworten

#1 Markus Kossmann
08/10/2008 - 21:57 | Warnen spam
hmalissa wrote:

Hallo!
Wie kann ich beeinflussen, wo ein Compiler nach Libraries sucht?
Ich habe eine eigene statische Library geschrieben, beispielsweise
libxyz.a
Das compilieren mit

$CC test.c -L. -lxyz

funktioniert bestens wenn libxyz.a im selben Verzeichnis wie test.c
sitzt, die Library funktioniert offensichtlich.
Ich wuerde mir gerne das '-L.' sparen. Und das auf einem Rechner, wo
ich keine root-Rechte habe.
Meine Idee: ich kopiere libxyz.a ins Verzeichnis ~/lib/, wo spaeter
noch andere Libraries dazukommen.
Wie teile ich dem Compiler dauerhaft mit, dass er auch in ~/lib/ nach
Libraries suchen soll?



Du must nicht dem Compiler sondern dem Linker mitteilen, das er irgendwo
anders suchen soll. Konfiguriert wird der Linker wohl mit Linker Scripts (
siehe info pages von ld) . Um dein Problem zu Lösen ist der der übliche
Weg das Schreiben eines Makefiles, nicht das aber das Benutzen eines Linker
Scripts.

Ähnliche fragen