Можете ли вы включить статическую библиотеку (.a) в другую статическую библиотеку с помощью ar? - PullRequest
1 голос
/ 30 марта 2012

Допустим, у меня есть несколько файлов .o в каталоге, которые помещаются в статическую библиотеку:

ar cr libstuff.a a.o b.o

В другом каталоге есть пара других .o файлов, которые должны быть расположены в дополнение к libstuff.a, созданному выше:

ar cr libother.a c.o d.o /path/to/stuff/libstuff.a

Я думал, что включение libstuff.a будет работать там, однако я получаю неопределенные символы (которые должны быть определены в libstuff.a), когда я делаю это, а затем позже пытаюсь связать их с libother.a. (используя g ++)

Есть ли способ объединить .a в статическую библиотеку, подобную этой, или это просто невозможно?

1 Ответ

3 голосов
/ 30 марта 2012

Если вы запустите 'ar t' для новой библиотеки, вы обнаружите, что она содержит копию старой библиотеки.Бесполезно.

Вам нужно извлечь входную библиотеку, добавить новые файлы .o, а затем собрать новую библиотеку со всем содержимым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...