【问题标题】:How to pack multiple library archives (.a) into one archive file?如何将多个库档案 (.a) 打包到一个档案文件中?
【发布时间】:2011-02-14 23:53:25
【问题描述】:

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

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

【问题讨论】:

    标签: linux


    【解决方案1】:

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

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

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

    【讨论】:

    • 这就是我担心必须做的事情,但我认为可能有一些聪明的方法可以用 AR、hackish-voodoo 或其他东西来做到这一点;-)。
    猜你喜欢
    • 2020-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 1970-01-01
    • 2013-05-20
    • 1970-01-01
    相关资源
    最近更新 更多