0

我正在为 iOS 设备开发一个应用程序,其中一个要求是使用 libvpx webM,我可以为 armv7 架构构建它,但由于必须是通用应用程序,所以这也应该为 armv7s 构建它, arm64架构也是,

现在需要一点澄清,

  • 由于 libvpx 没有对 arm64 和 armv7s 的强大构建支持,而且似乎 arm64 具有向后支持,所以将 armv7 库用于 arm64 就足够了,如果是这种情况,那么应该在 Xcode 项目设置中修改什么,
  • 或者我应该保持 Xcode 项目设置不变,但应该使用 lipo 或任何其他构建工具修改库配置。

简而言之,我想知道,如果有任何具有标准 ./configure 、 make 等的开放源代码......构建对 arm7 的支持,那么它如何用于支持 armv7s 和 arm64 位架构。

4

1 回答 1

1

您可以通过将 arm7 内置库作为 arm7s 架构添加到 fat lib 中来支持 arm7s。这样你的 lipo 命令看起来像这样:

xcrun -sdk iphoneos lipo -create -arch armv7 ios7/lib/xyz.a -arch armv7s ios7/lib/xyz.a -arch i386 ios7_x86/lib/xyz.a -output xyz.a

看到 ios7/lib/xyz.a 出现了两次:一次是 arm7,第二次是 arm7s。

关于 arm64,并非所有库都会自动为 arm64 构建。尤其是具有大量优化汇编代码的库,例如 libvpx。

于 2014-08-16T10:18:34.347 回答