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

And*_*j H 4 linux

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

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

Fle*_*exo 5

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

ar x libsmall1.a
ar x libsmall2.a
ar rcs libbig.a *.o
Run Code Online (Sandbox Code Playgroud)

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