Re: Linken, shared Libs und Versionen

Datumsansicht Baumansicht Betreffansicht Attachement-Sicht

From: msdemlei_at_cl.uni-heidelberg.de
Date: 23. Feb 2002


On Fri, Feb 22, 2002 at 02:26:35PM +0100, Mathias Waack wrote:
> Hi all,
>
> ich habe hier ein Programm, welches ich gerne gegen verschiedene Versionen
> einer Library linken moechte. Dabei sind mir ein paar Fragen gekommen. Ich
> habe also eine Lib und verschiedene Versionen:
>
> /usr/lib/libtest.so.1
> /usr/lib/libtest.so.2
> /usr/lib/libtest.so.3
>
> Wenn ich jetzt mit "gcc test.c -ltest" kompiliere, welche Lib wird dann
> genommen? Und wie kann ich erzwingen, dass eine bestimmte Lib genommen wird

Gelinkt wird gegen die, auf die libtest.so zeigt.

> (wenn ich z.B. unbedingt gegen libtest.so.2 linken will)? Also ohne den
> kompletten Namen der Lib anzugeben?

Warum willst du das tun? Ein Hack wäre wohl, libtest.so kurz mal
umzuhängen -- das entstehende Executable weiß danach, welche Version es
braucht, libtest.so kann also danach wieder zurückgehängt werden, der
link wird nur zur Compilezeit benötigt. Toll ist das natürlich nicht.
Ein anderer Hack wäre das schon vorgeschlagene System, die Geschichten
in verschiedenen Verzeichnissen unterzubringen und mit -L zu arbeiten.
Das ist natürlich auch bescheuert.

Ich würde vermuten, dass ld auch irgendwelche Bordmittel für sowas
hat, aber weil ich grundsätzlich davon abraten würde, sowas zu
machen, will ich nicht mal nachsehen, wie es geht:-)

       Demi


Datumsansicht Baumansicht Betreffansicht Attachement-Sicht

Dieses Archiv wurde generiert von hypermail 2.1.2 : 11. Mar 2002 CET