你可以包含一个静态库(.a)在另一个静态库与AR?

问题描述:

比方说,我有一对情侣在一个目录下的.o文件得到ar'ed成静态库:你可以包含一个静态库(.a)在另一个静态库与AR?

ar cr libstuff.a a.o b.o 

在另一个目录下有需要被几个其他的.o文件除了上面创建的libstuff.a ar'ed:

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

我认为包括libstuff.a会在那里工作,但我得到了一个未定义的符号(即应libstuff.a定义)当我这样做然后再尝试链接到libother.a。 (使用g + +)

有没有办法将.a这样的静态库合并或这是不可能的?

它在新的lib上运行'ar t',你会发现它包含了一个旧的lib的副本。没有用。

您需要提取输入库,添加新的.o文件,然后构建一个包含所有内容的新库。