如何将多个库文件(.a)打包成一个归档文件?

4

如何在Linux上使用binutils ar和/或GCC将多个归档文件转换为一个大的归档文件。

我尝试过像ar rcs libbig.a libsmall1.a libsmall2.a这样的操作,但它不起作用(生成的libbig.a为空)。

1个回答

6

我在我的机器上尝试了这个操作,似乎问题是您需要在将它们添加到新的存档文件之前从存档文件中提取对象:

ar x libsmall1.a
ar x libsmall2.a
ar rcs libbig.a *.o

仅仅像你这样运行ar rcs命令会生成一个包含两个 .a 文件的存档文件,但是工具(例如 nm)不愿意深入查看这些文件。


这就是我担心必须要做的事情,但我认为可能有一些聪明的方法可以用AR、hackish-voodoo或其他方式来完成它;-)。 - Andrzej H

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接