【问题标题】:Dynamic library image doesn't contain x86_64, i386 architectures动态库映像不包含 x86_64、i386 架构
【发布时间】:2015-03-22 09:56:52
【问题描述】:

我正在尝试为 iOS 构建动态库,结合架构

  • armv7
  • armv7s
  • arm64
  • i386
  • x86_64

这是我的目标的构建设置

如您所见,我已将 x86_64 和 i386 添加到 ArchitecturesValid ArchitecturesBuild Active Architecture Only 也设置为 @ 987654322@.

所以在构建我的二进制文件之后,我通过在 Terminal

中运行 file myDl.dylib 来检查支持的架构
myDl.dylib (for architecture armv7):    Mach-O dynamically linked shared library arm  
myDl.dylib (for architecture arm64):    Mach-O 64-bit dynamically linked shared library

所以这意味着它已经为 armv7arm64 编译,并且dlopen() 在模拟器上失败并出现错误“不支持的架构”。

我做错了什么?

PS。当我使用自定义构建脚本并使用“lipo”工具创建胖库时,它工作正常,但我不喜欢这种方式,我想让它在 Xcode 上正常工作。

【问题讨论】:

    标签: ios xcode macos static-libraries


    【解决方案1】:

    在有效架构中设置 armv7、armv7s 和 arm64,并确保您使用的任何第三方框架必须包含 64 位支持。

    【讨论】:

    • 那之后会发生什么?
    猜你喜欢
    • 2019-07-14
    • 2013-01-17
    • 2014-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多