为什么 libtool 运行 ranlib 进行静态库安装?

Why libtool runs ranlib for a static library installation?

我想了解为什么 libtool 在安装静态库时运行 ranlib。这是来自 link 的示例:https://www.gnu.org/software/libtool/manual/html_node/Installing-libraries.html

$ libtool --mode=install cp libhello.la /usr/local/lib/libhello.la
cp libhello.la /usr/local/lib/libhello.la
cp .libs/libhello.a /usr/local/lib/libhello.a
ranlib /usr/local/lib/libhello.a

但是,索引table不是已经创建了吗,不应该只是一个简单的复制操作吗?我发现副本末尾的 运行 ranlib 是多余的,因为该库已经有一个索引。

谢谢。

过去的日子不好过,ar 没有创建索引。

libtool 用于在各种系统上 运行,其中一些系统具有索引创建功能 ar,而另一些则没有。

为了兼容,安装静态库后仍然调用ranlib创建索引