Как упаковать несколько библиотечных архивов (.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) не хотели углубляться в эти файлы.