如何检查一个静态库是否构建为64
我刚刚为iOS构建了一个静态库,并将Architectures的构建设置设置为$(ARCHS_STANDARD_INCLUDING_64_BIT)
。
我想确保.a库正确地包含该体系结构,但是当我在其上运行lipo -info
时,我看到:
fat文件中的体系结构:library.a是:armv7 armv7s(cputype(16777228)cpusubtype(0))
这是否意味着不包括arm64? 如果lipo命令不能告诉我,还有另一种方法可以告诉我吗?
我正在运行安装了最新命令行工具的Xcode 5。
是的,一个arm64切片在那里。 要看到它,你需要使用iOS工具链中的lipo
,而不是来自主机系统(它不知道arm64):
xcrun -sdk iphoneos lipo -info $(FILENAME)
好的旧file
也可以做到这一点:
$ file libTestFlight.a
libTestFlight.a: Mach-O universal binary with 5 architectures
libTestFlight.a (for architecture armv7): current ar archive random library
libTestFlight.a (for architecture armv7s): current ar archive random library
libTestFlight.a (for architecture i386): current ar archive random library
libTestFlight.a (for architecture x86_64): current ar archive random library
libTestFlight.a (for architecture cputype (16777228) cpusubtype (0)): current ar archive random library
似乎苹果没有人关心将arm64 cputype添加到file
。
有趣的是,在iOS 7技术讲座视频(“架构现代应用,第2部分”,PDF第35页)中,他们展示了一个工作文件工具的输出:
对于.framework
lipo -info myFramework.framework/MyFramework
上一篇: How to check if a static library is built for 64
下一篇: Xcode 4 can't locate public header files from static library dependency