Как упаковать несколько библиотечных архивов (.a) в один архивный файл?

Как я могу превратить несколько файлов архива в один большой файл архива в Linux (используя binutils ar и / или GCC).

Я пытался делать такие вещи, как ar rcs libbig.a libsmall1.a libsmall2.a и это не работает (в результате libbig.a пустой).

1 ответ

Решение

Только что попробовал это на моей машине, и проблема, кажется, в том, что вам нужно извлечь объекты из архивов, прежде чем добавлять их в новый архив:

ar x libsmall1.a
ar x libsmall2.a
ar rcs libbig.a *.o

Просто запустив arcs, как вы, создали архив, который содержал два файла.a, но инструменты (например, nm) не хотели углубляться в эти файлы.

Другие вопросы по тегам