Sto provando a creare una grande libreria statica che unisce due librerie statiche. Nel momento in cui sto usando il comando 'ar', l'estrazione di oggetti, ad esempio, da 'AA' e 'ba' e poi riassemblare questi oggetti usando 'ar' ancora:Come posso estrarre librerie statiche contenenti file oggetto ripetuti?
$ ar x a.a
$ ar x b.a
$ ar r merged.a *.o
Purtroppo non funziona per il mio scopo, dal momento che aa ha all'interno diversi oggetti con lo stesso NOME. Il comando 'ar' sta estraendo gli oggetti ripetuti e sostituendo quelli già estratti con lo stesso nome. Anche con lo stesso nome, questi oggetti hanno simboli diversi, quindi ottengo riferimenti indefiniti poiché alcuni simboli vengono persi insieme ai file sostituiti.
Non ho accesso agli oggetti originali e ho già provato 'ar xP' e 'ar xv' e un sacco di 'ar stuff'. Qualcuno può aiutarmi a mostrare come unire queste librerie?
Grazie in anticipo.
Ottimo, ho avuto lo stesso problema e questo script ha risolto il problema. Ma credo che dovresti scrivere '' 'content_descripter [48:58]' '' invece di 48:57. Il campo delle dimensioni del file è 10 byte invece di 9 byte in base a [Wikipedia] (https://en.wikipedia.org/wiki/Ar_ (Unix)). –
Inoltre, se si gestisce la variante BSD del formato di file .a (ad esempio, su Mac), il nome del file può essere una parte della parte del corpo, come spiegato in [Wikipedia] (https://en.wikipedia.org/wiki/aR_ (Unix)). Quindi avresti anche bisogno di una logica per eliminarlo. –