我试图理解为什么libtool在安装静态库时运行ranlib。这是一个来自链接的例子: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
但是,索引表不是已经创建了吗?它不应该只是一个简单的复制操作吗?我发现在复制结束时运行ranlib是多余的,因为库已经有了索引。
谢谢。
在过去糟糕的日子里,ar
没有创建索引。
libtool
旨在在各种系统上运行,其中一些系统具有创建索引的ar
,而另一些则没有。
为了兼容性,在安装静态库之后,它仍然调用ranlib来创建索引。