Re: Mehrere Lib-Versionen
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Message-ID | <42D6CD43.6029.185039@localhost> |
Am 13 Jul 2005 um 10:16 hat Boris Höffgen geschrieben:
> Hallo,
>
> wie erreiche ich es, dass ich mehrere Versionen von Libs parallel betreiben
> kann?
>
> Z.B.
> Im Verzeichnis /usr/local/include/:
> bib-1.0/
> bib-2.0/
>
> Die Includes kann ich dann in den Headern der Programme ansprechen (#include
> <bib-1.0/bla.h>). Aber wie bekomme ich es mit den Libs hin?
>
> Z.B.
> Im Verzeichnis /usr/local/lib/:
> bib-1.0/bla.so
> bib-2.0/bla.so
>
So nicht. Denn dabei hängt das Laden der richtigen Library von der Suchreihenfolge
des Loaders ab. (ldconfig)
> oder
>
> bla.so.1.0
> bla.so.2.0???
>
Das ist eher die Regel bei Linux. Und entsprechende Symlinks ohne Minor.Micro zeigen
auf die eigentliche Datei. Hier besteht aber immer noch das Problem der gleichzeitigen
Benutzung beider Dateien.
Wenn Du wirklich beide explizit gleichzeitig verwenden möchtest, verstehe ich Dein Problem
nicht. Verwende beide, aber mit z.B. bla_1.so und bla_2.so.
Ich sehe darin aber keinen Sinn.
Ich denke, Du willst Version 1 im Falle von nicht existierender Version 2 verwenden.
Dann kann Dynamic Loading helfen. Ist aber bei aufwendigeren Modulen entsprechend
mit Arbeit verbungen.
Besser finde ich da diese Lösung, wenn Du kein Dynamic Loading verwenden möchtest:
Bla_2 linkt bla_1 und Dein Programm linkt bla_2.
Programm_1 -> Bla_1
Programm_2 -> Bla_2 -> Bla_1
Bla 2 implementiert nur die Funktionen der Version 2 und delegiert die der Version 1 an Bla
1.
Einfacher kann ichs auch nicht machen.
Lothar
--
Lothar Behrens | Rapid Prototyping ...
Rosmarinstr 3 |
40235 Düsseldorf | www.lollisoft.de
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
[email protected]
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]