1

我的 Mac 上有一个静态库,很想知道这个库是否是为 armV7s 架构构建的?是否有任何命令/工具可用于显示此库中支持的架构?

谢谢你,卡姆兰

4

3 回答 3

4
your-mac:~ yourlogin$ file /Path/to/somebinary

/Path/to/somebinary: Mach-O universal binary with 3 architectures
/Path/to/somebinary (for architecture x86_64):    Mach-O 64-bit executable x86_64
/Path/to/somebinary (for architecture i386):      Mach-O executable i386
/Path/to/somebinary (for architecture ppc7400):   Mach-O executable ppc
于 2012-09-21T20:26:09.370 回答
4

您可以使用 otool 来获取该信息。

来自 otool 的手册页

-L 显示目标文件使用的共享库的名称和版本号。以及共享库 ID(如果文件是共享库)。

例子

> otool -L libRaptureXML_universal.a 

Archive : libRaptureXML_universal.a (architecture armv7)
libRaptureXML_universal.a(RXMLElement.o) (architecture armv7):
Archive : libRaptureXML_universal.a (architecture i386)
libRaptureXML_universal.a(RXMLElement.o) (architecture i386):
于 2012-09-21T20:31:49.103 回答
2

不同意其他答案,但这里还有一个选择:使用lipo命令。

lipo 的 Apple 手册页

您可以lipo -info在可执行文件或库上运行。一些例子:

minime:arc username$ lipo -info libarclite_iphonesimulator.a
input file libarclite_iphonesimulator.a is not a fat file
Non-fat file: libarclite_iphonesimulator.a is architecture: i386

minime:iPhone username$ cd HelloWorld.app/
minime:HelloWorld.app username$ lipo -info HelloWorld
Non-fat file: HelloWorld is architecture: armv7
于 2012-09-21T20:41:27.080 回答