如何检查一个静态库是否构建为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

链接地址: http://www.djcxy.com/p/22701.html

上一篇: How to check if a static library is built for 64

下一篇: Xcode 4 can't locate public header files from static library dependency