你能用ar在另一个静态库中包含一个静态lib(.a)吗



假设我在一个目录中有几个.o文件,这些文件被ar’ed到一个静态库中:

ar cr libstuff.a a.o b.o

在另一个目录中,除了上面创建的libstuff.a之外,还有几个其他的.o文件需要ar’ed:

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

我原以为包括libstuff.a会在那里工作,但当我这样做时,我会得到未定义的符号(应该在libstuff-a中定义),然后稍后尝试链接wtih libother.a(使用g++)

有没有办法把.a组合成这样的静态库,或者这是不可能的?

如果在新库上运行"ar t",您会发现它包含旧库的副本。没用。

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

相关内容

  • 没有找到相关文章

最新更新