iOS:Unix:Mac从关于支持的体系结构的静态库中提取信息。 怎么样?

我在我的Mac上有一个静态库,并且好奇地知道这个库是不是为armV7架构而build造的? 是否有任何命令/工具可用于显示此库中支持的体系结构?

谢谢你,卡姆兰

Solutions Collecting From Web of "iOS:Unix:Mac从关于支持的体系结构的静态库中提取信息。 怎么样?"

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

从otool的manpage

-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): 
 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 

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

苹果mano页为lipo

您可以在可执行文件或库上运行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