【发布时间】:2015-09-07 09:43:12
【问题描述】:
在 Mac OS X 上,此命令
ar rcs libio.a a.o b.o c.o
应该转换成:
libtool -static -o libio.a a.o b.o c.o
获取正确的静态库。
那么,在命令行或makefile中执行ar ...时,如何自动调用libtool ...?我可以通过提出一个解析和调用libtool 的新ar 命令来隐藏旧的ar 命令,但我想知道可能有更简单的方法。
【问题讨论】:
-
如果
ar的第一个参数不是rcs会发生什么?这种转换应该是通用的吗? -
@Scott Hunter:应该有参数(rcs 是三个参数)。我总是需要用新的 libtool 替换旧的 ar,所以我认为它是通用的。
-
rcs怎么可能是 3 个参数?您的 conversion 似乎完全忽略了它/它们。 -
rcs是一种模式和两种选择:r表示“在 ar 文件中添加或替换文件”,c表示“如果需要,无需抱怨就创建 ar 文件”,s表示“在 ar 文件中添加/更新符号表”。
标签: macos unix command-line