Swift-为什么找不到符号

时间:2019-04-06 15:47:01

标签: swift macos dylib dyld missing-symbols

我正在使用的应用程序在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

我该如何确定实际发生的情况以及如何解决呢?

1 个答案:

答案 0 :(得分:0)

这可能是由于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编译器进行编译。可能的一件事是将编译工具链设置为非标准编译器。