假设我在一个目录中有几个.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组合成这样的静态库,或者这是不可能的?
答案 0 :(得分:3)
你在新的lib上运行'ar t',你会发现它包含旧lib的副本。没用。
您需要提取输入库,添加新的.o文件,然后构建包含所有内容的新库。