2010-12-20 8 views
14

-R DateinameGibt es eine Entsprechung zur GNU-Linker-Option "--just-symbols" für Nicht-GNU-Linker?

--just-Symbole = Dateiname

lesen Symbolnamen und ihre Adressen aus Dateinamen, aber es nicht verlagern oder schließen sie in den Ausgang. Dadurch kann sich Ihre Ausgabedatei symbolisch auf absolute Speicherorte beziehen, die in anderen Programmen definiert sind. Sie können diese Option mehrmals verwenden.

Zum Beispiel auf meinem Mac, ld -R libsomething.a oder sogar gcc -Wl,-R,libsomething.a funktioniert nicht.

+1

Was ist die Fehlermeldung? –

+9

Sicherlich hängt die Antwort davon ab, welchen Nicht-GNU-Linker Sie verwenden, da Argumente vom aufgerufenen spezifischen Linker verarbeitet werden. –

+1

Welche Fehlermeldung erhalten Sie; auch welchen Linker und welche Version verwendest du? – Unsigned

Antwort

2

Da Sie von "Ihrem Mac" sprechen, nehme ich an, dass wir über OS X-Betriebssysteme sprechen.

Auf UNIX-basierten Systemen wird meistens der Linker "ld" (mit Option -R) verwendet (siehe auch: ELF). Im Gegensatz dazu verwendet OS X Systems das Binärformat Mach-O und das Werkzeug dyld zum Verknüpfen. OS X bietet nicht die gleichen Funktionen für Bibliotheken wie UNIX. Versuchen Sie otool -L für eine Binärdatei, um zu sehen, wo die Bibliotheken erwartet werden. Sie können auch versuchen, DYLD_LIBRARY_PATH (man dyld) für Ihre Binärdateien zu setzen, aber beachten Sie das Sicherheitsrisiko (dies könnte verwendet werden, um Code wie LD_LIBRARY_PATH auf UNIX-Systemen zu injizieren).

Verwandte Themen