【问题标题】:Swift - Why is symbol not foundSwift - 为什么找不到符号
【发布时间】:2019-08-28 06:21:19
【问题描述】:

我正在开发的应用程序在 macOS 10.14.3 上运行良好,但是当我在 macOS 10.14.4 上运行它时出现此错误:

dyld: Symbol not found: _$SBOWV
Referenced from: {path to linked library}
Expected in: /usr/lib/swift/libswiftCore.dylib

我怎样才能弄清楚到底发生了什么以及如何解决它?

【问题讨论】:

  • 您使用的是 Xcode 10.2 吗?什么版本的 Swift?
  • Xcode 10.2,捆绑的静态库是使用 Swift 4.2 Release 工具链编译的,项目本身也是如此

标签: swift macos dylib dyld missing-symbols


【解决方案1】:

这可能是 Swift 4 和 Swift 5 混合造成的。

$SBOWV 是 Swift 4 中 Swift 标准库中的一个内部例程,但在 Swift 5 中不再存在。听起来您可能有使用 Swift 4 编译的目标代码,但是,您正试图在带有 Swift 5 库的系统。这都是 Swift 5 中 ABI 稳定性更改的一部分,现在可以在 Swift 5 及更高版本中使用 ABI 稳定框架(在 MacOS 上,Linux 还不是 ABI 稳定的)。

确保应用是使用 Xcode 10.2.x 编译器编译的。一种可能的情况是 compile-toolchains 被设置为非标准编译器。

【讨论】:

    猜你喜欢
    • 2021-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多