【问题标题】:Turn thin archive into normal one将精简档案变成普通档案
【发布时间】:2014-10-22 15:49:35
【问题描述】:

我正在构建V8,默认情况下它构建为“瘦”存档,其中.a 文件基本上只包含指向文件系统上目标文件的指针,而不是包含目标文件本身。详情请见man ar

我希望能够将这个库放在一个中心位置,以便其他人可以链接到它,显然提供一个普通的存档文件而不是提供一大堆目标文件会容易得多。

如何获取构建生成的精简档案并将其转换为普通档案?我认为这就像枚举精简存档中的目标文件并使用它们重建存档一样简单,但我不知道可以使用什么命令来列出存档的目标文件。

【问题讨论】:

    标签: static-libraries archive v8 unix-ar


    【解决方案1】:

    经过一些额外的研究,ar -t 可用于枚举存档中的目标文件,因此之后只需将该列表提供给ar,就像您通常在创建存档时所做的那样。

    以下脚本同时为所有库处理此问题:

    for lib in `find -name '*.a'`;
        do ar -t $lib | xargs ar rvs $lib.new && mv -v $lib.new $lib;
    done
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-08
      • 2013-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-29
      • 1970-01-01
      相关资源
      最近更新 更多