Makefile externe Library linken?

slinger

New member
Themenstarter
Registriert
25 März 2006
Beiträge
949
Hallo,

ich bastel gerade an einem Software Projekt und würde gerne die Bibliothek einer Physik Engine einbinden.
Momentan mache ich das ganze leider so

Code:
#!/bin/sh
# Starten des Programms mit passenden Libs
LD_LIBRARY_PATH=./src/lib/ ./billard

Gibt es eine Möglichkeit diesen Link direkt ins Makefile einzubinden.

Der Pfad ist hierbei KEIN Systempfad, sondern /src/lib liegt in dem Falle in den Untiefen des Homeordners!

Dankeschön!
 
Ja. Du müsstest beim linken, also bei den Optionen vom ld die Option -rpath benutzen. Wenn direkt über den gcc gelinkt wird, dann musst du das mit -Wl prefixen.

guck mal in
Code:
man ld
nach -Wl und nach -rpath
 
Wenn du den LD_LIBRARY_PATH setzt, müssen die Pfade durch einen Doppelpunkt getrennt werden:

LD_LIBRARY_PATH=./src/lib/:./billard
oder
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:~/src/lib/:~/billard

Letzteres fügt deine Pfade zu den ggf. schon vorhandenen Pfaden hinzu und exportiert ihn. Ich schreibe solche Dinge in meine .bashrc bzw. .bash_profile, dann muss man das nicht immer wieder neu setzen.
 
Ich versuch mich nochmal genauer auszudrücken weil ich das irgendwie net ganz verstanden habe.

Meine Ordnerstruktur:

Projektordner:
Makefile
Executeable
src/lib/libode.a
src/lib/libode.so


Ich möchte dem Makefile jetzt beibringen das er in meine Executeable bitte die libode.so und die libode.a einbaut. Wie mache ich das am schlausten?
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben