如何将多个库存档(.a)打包到一个存档文件中?

时间:2011-02-14 15:44:53

标签: linux

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

我尝试过像ar rcs libbig.a libsmall1.a libsmall2.a这样的事情但它不起作用(结果libbig.a为空)。

1 个答案:

答案 0 :(得分:5)

刚刚在我的机器上尝试了这个问题,问题似乎是你需要从档案中提取对象,然后再将它们添加到新档案中:

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

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