【问题标题】:Two .a files (one for device other for simulator)两个 .a 文件(一个用于设备,另一个用于模拟器)
【发布时间】:2011-09-10 04:58:18
【问题描述】:

我得到了一个 SDK,我需要将它集成到 iPhone 应用程序中。我得到了 2 个 .a 文件,一个用于模拟器,一个用于设备。现在,我必须根据测试目标(设备或模拟器)不断地交换这些文件。有没有办法让 Xcode 根据我要测试的位置自动配置正确的 .a 文件?谢谢。

哦,顺便说一句,我正在使用 Xcode 4。谢谢!

【问题讨论】:

  • 删除了 Objective-C 标签,因为这与 Objective-C 无关。

标签: cocoa-touch xcode ios linker .a


【解决方案1】:

我会尝试使用 lipo 构建一个胖的 i386/arm 版本的库。

你可以使用这个命令:

 lipo -create liblib-i386.a liblib-arm.a -output liblib-fat.a

链接器将能够根据平台仅从中提取所需的符号。

【讨论】:

    【解决方案2】:

    您可以使用 lipo 创建包含两种架构的“胖二进制文件”。

    lipo -create binary1.a binary2.a -output fatbinary.a
    

    【讨论】:

      【解决方案3】:

      您还可以创建两个目标并使用适当的 lib 文件。

      【讨论】:

      • 是的,但有时您可能希望避免使用胖二进制文件。
      猜你喜欢
      • 1970-01-01
      • 2015-01-11
      • 2016-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-22
      相关资源
      最近更新 更多