2010-12-20 16 views
14

-R nomefileEsiste un equivalente al linker GNU "--just-symbols" per i linker non-GNU?

--just-simboli = filename

nomi Leggi simboli ed i loro indirizzi da nome del file, ma non lo si utilizza o includere nell'output. Ciò consente al file di output di riferirsi simbolicamente alle posizioni assolute di memoria definite in altri programmi. Puoi usare questa opzione più di una volta.

Ad esempio, sul mio Mac, ld -R libsomething.a o anche gcc -Wl,-R,libsomething.a non funziona.

+1

qual è il messaggio di errore? –

+9

Sicuramente la risposta dipenderà da quale linker non GNU si utilizza, poiché gli argomenti vengono elaborati dallo specifico linker invocato. –

+1

Che messaggio di errore si sta ricevendo; anche quale linker e versione stai usando? – Unsigned

risposta

2

Dato che stai parlando di "tuo Mac", presumo che stiamo parlando di sistemi operativi OS X.

Sui sistemi basati su UNIX il linker "ld" (con opzione -R) viene utilizzato la maggior parte delle volte (vedere anche: ELF). Al contrario, OS X Systems utilizza il formato binario Mach-O e lo strumento dyld per il collegamento. OS X non fornisce le stesse funzionalità per le librerie come fa UNIX. Prova otool -L su un binario per vedere dove sono previste le librerie. Si consiglia inoltre di provare a impostare DYLD_LIBRARY_PATH (man dyld) per i file binari, ma tenere presente i rischi per la sicurezza (questo potrebbe essere utilizzato per iniettare codice come LD_LIBRARY_PATH su sistemi UNIX).