如何确定MacOSX上静态库(.a)的目标体系结构?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (45)

我有兴趣验证一个给定的iPhone静态库是否为ARM或Intel构建的。

是否有某种特定于MacOSX或BSD的工具来完成此操作?

提问于
用户回答回答于

file可能会告诉你。otool当然应该可以。但我会file先尝试,例如

logan:/Users/logan% file d2
d2: Mach-O executable ppc

存档示例:

logan:/Users/logan% file /usr/lib/libMallocDebug.a
/usr/lib/libMallocDebug.a: Mach-O universal binary with 2 architectures
/usr/lib/libMallocDebug.a (for architecture i386):      current ar archive random library
/usr/lib/libMallocDebug.a (for architecture ppc):       current ar archive
用户回答回答于

另一个选择是lipo它的输出很简短,比otool他的更短

例如:

% lipo -info /usr/lib/libiodbc.a 
Architectures in the fat file: /usr/lib/libiodbc.a are: x86_64 i386 ppc
% lipo -info libnonfatarchive.a
input file libnonfatarchive.a is not a fat file
Non-fat file: libnonfatarchive.a is architecture: i386
%

扫码关注云+社区