Seite 1 von 1

dynamische libs mit $$ORIGIN und RPATH in *.pro festlegen

Verfasst: 7. Oktober 2009 17:00
von Juergen
Hallo Zusammen,

ich möchte unter SLES 11 eine Applikation erstellen, die dynamische libraries lädt.

Die Applikation soll auf dem Entwicklungsrechner im Verzeichnis

$MY_OWN_BASEDIR/bin gebaut werden und auf die Libraries in
$MY_OWN_BASEDIR/lib zugreifen.
Dort sollen ein paar qt modul libraries liegen und meine eigenen *.so Dateien.

Später soll auf dem Zielrechner (auf dem SLES 11 oder 12, 13, wie auch immer installiert ist) , auf dem die Applikation zum Einsatz kommt, in IRGENDEINEM Verzeichnis die Applikation installiert werden und laufen.
Auch dort wird es wieder .../bin und .../lib geben.

Ob ein Qt auf dem Zielrechner installiert ist und in welcher Version, soll egal sein.
Ich möchte die libraries aus meinem .../lib verwenden.

Nun habe ich nicht die Ahnung, wie ich das umsetzen kann, weiss aber, dass es so etwas wie $$ORIGIN , QMAKE_RPATH und -rpath gibt.

Ein passendes "Kochrezept - HowTo" habe ich nicht gefunden.
Kann mir jemand einen Link zu einem Grundlagendokument geben?

Vielen Dank
Jürgen

P.S.: Dies ist mein erster Thread in diesem Forum. Sollte ich irgendwelche Konventionen nicht eingehalten haben, dann bitte ein freundlichen Hinweis an mich ;-)

Re: dynamische libs mit $$ORIGIN und RPATH in *.pro festlege

Verfasst: 8. Oktober 2009 08:28
von Mani99
Juergen hat geschrieben: $MY_OWN_BASEDIR/bin gebaut werden und auf die Libraries in
$MY_OWN_BASEDIR/lib zugreifen.
Dort sollen ein paar qt modul libraries liegen und meine eigenen *.so Dateien.
Du kommst aus der windows welt oder? Mit der $MY_OWN_BASEDIR/lib sache verstößt du quasi gegen den guten ton in linux.

Normalerweise legt man die qt libs unter /usr/libs/qt-x.x.x und seine eigenen unter /usr/libs/my_application-x.x.x ab.

Ich verstehe deine frage nicht ganz, was willst du jetzt genau machen? Das ein programm installiert wird, darum kümmert sich normalerweise die paketverwaltung, sonst müsstest du dein programm nach /usr/bin kopieren.

Ansonsten für qmake gibts da noch DESTDIR.

In deiner pro datei:

Code: Alles auswählen

DESTDIR = /usr/bin

Verfasst: 8. Oktober 2009 16:07
von Juergen
Hallo Manni99,

Deine Anmerkung aus welcher Welt ich stamme lasse ich einfach mal unkommentiert, das würde sonst zu weit führen. ;-) Erstmal Danke für Deine Antwort.

Ich habe einen weiteren Tipp bekommen und muß sagen, die Doku von Sun ist echt Klasse:

http://docs.sun.com/app/docs/doc/806-06 ... ew&q=rpath
http://docs.sun.com/app/docs/doc/805-30 ... ath+ORIGIN

Das werde ich mir erstmal zur Gemüte führen und dann weiter sehen.

Viele Grüße
Jürgen