Próbuję zbudować dużą bibliotekę statyczną łączącą dwie statyczne biblioteki. W tej chwili używam komendy „AR”, wyodrębnianie obiektów, na przykład z „AA” i „ba”, a następnie ponownym tych obiektów za pomocą „AR” znowu:Jak mogę wyodrębnić statyczne biblioteki zawierające powtarzające się pliki obiektów?
$ ar x a.a
$ ar x b.a
$ ar r merged.a *.o
Niestety to nie działa dla mojego celu, ponieważ aa ma wewnątrz różne przedmioty z NAZWĄ SAMEGO. Polecenie "ar" wyodrębnia powtarzane obiekty i zastępuje już wyodrębnione te o tej samej nazwie. Nawet przy tej samej nazwie obiekty te mają różne symbole, więc otrzymuję niezdefiniowane odniesienia, ponieważ niektóre symbole są pomijane wraz z zastąpionymi plikami.
Nie mam dostępu do oryginalnych obiektów i próbowałem już "ar xP" i "ar xv" oraz dużo "ar rzeczy". Czy ktoś może mi pomóc pokazać jak połączyć te biblioteki?
Z góry dziękuję.
Świetnie, miałem ten sam problem i ten skrypt rozwiązał problem. Ale uważam, że powinieneś napisać '' content_descripter [48:58] '' 'zamiast 48:57. Pole rozmiaru pliku wynosi 10 bajtów zamiast 9 bajtów zgodnie z [Wikipedia] (https://en.wikipedia.org/wiki/Ar_ (Unix)). –
Ponadto, jeśli obsługujesz wariant BSD w formacie .a (np. Na Macu), nazwa pliku może być częścią części ciała, jak wyjaśniono w [Wikipedia] (https://en.wikipedia.org/wiki/Ar_ (Unix)). Więc potrzebujesz logiki, aby go rozebrać. –