1

假设我在一个目录中有几个 .o 文件,这些文件被编入了一个静态库:

ar cr libstuff.a a.o b.o

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

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

我认为包含 libstuff.a 可以在那里工作,但是当我这样做时我得到未定义的符号(应该在 libstuff.a 中定义),然后尝试与 libother.a 链接。(使用 g++)

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

4

1 回答 1

3

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

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

于 2012-03-30T16:48:28.283 回答