ar
可以创建一个包含另一个.a
文件的.a
文件,这样ar -t whatever.a
的输出看起来像:
someotherarchive.a
foo.o
bar.o
但是,如果这个归档文件被链接,someotherarchive.a
中.o
的符号将不能被foo.o
访问。这可以通过在创建时将T
切换到ar
来解决,但这也会创建一个薄的归档。由于似乎没有平坦但不薄的选项,因此有必要首先从someotherarchive.a
中提取,然后独立链接.o
以创建包含:
otherarchivememberA.o
otherarchivememberB.o
foo.o
bar.o
提出一个问题,如果把一个.a
放在另一个.a
里面使它不可访问,这样做的目的是什么?
这可能是因为ar
在历史上是一个通用的归档工具,就像tar
一样。
换句话说,如果您正在创建静态库,则没有必要使用不可访问的嵌套归档。