2016-05-19 7 views
1

Auf OS X hat ld eine praktische Option -weak-l, die wie -l ist, aber die Bibliothek ist "schwach" verknüpft. Wenn die lib beim Laden der ausführbaren Datei nicht gefunden wird, werden keine Fehler ausgelöst, bis das Programm tatsächlich auf ein Symbol trifft, das es nicht finden kann.Linux: Schwache Verbindung eine gesamte Bibliothek, wie OS X ld -weak-lfoo

g++ -L. -weak-lfoo -o main.out main.cpp 

Gibt es ein Äquivalent Funktion im Linux ld Befehl? Ich kann es nicht finden.

Ich versuche, diesen Fehler zu vermeiden:

./main.out: error while loading shared libraries: libfoo.so: cannot open shared object file: No such file or directory 

... auch wenn libfoo.so nicht verfügbar ist. (Ich weiß zufällig, dass - für meinen Anwendungsfall - main.out keine Funktionen aufrufen wird, die Symbole von libfoo.so erfordern.)

Antwort

1

afaik, gibt es keine solche Sache.

Mindestens einige neuere (2017.03.22) Diskussion in der Debian-devel mailinglist legt nahe, dass dies ein nice-to-have Feature wäre (was darauf schließen lässt, dass es nicht existiert)