我的 Mac 上有一个静态库,很想知道这个库是否是为 armV7s 架构构建的?是否有任何命令/工具可用于显示此库中支持的架构?
谢谢你,卡姆兰
我的 Mac 上有一个静态库,很想知道这个库是否是为 armV7s 架构构建的?是否有任何命令/工具可用于显示此库中支持的架构?
谢谢你,卡姆兰
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
您可以使用 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):
不同意其他答案,但这里还有一个选择:使用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