如何在Linux上将多个存档文件转换为一个大型存档文件(使用binutils ar和/或GCC)。
我尝试过像ar rcs libbig.a libsmall1.a libsmall2.a
这样的事情但它不起作用(结果libbig.a
为空)。
答案 0 :(得分:5)
刚刚在我的机器上尝试了这个问题,问题似乎是你需要从档案中提取对象,然后再将它们添加到新档案中:
ar x libsmall1.a
ar x libsmall2.a
ar rcs libbig.a *.o
像你一样运行ar rcs会产生一个包含两个.a文件的存档,但是工具(例如nm)不愿意深入研究这些文件。