swift - Swift - 为什么找不到符号
问题描述
我正在开发的应用程序在 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
我怎样才能弄清楚到底发生了什么以及如何解决它?
解决方案
这可能是由 Swift 4 和 Swift 5 混合造成的。
$SBOWV 是 Swift 4 中 Swift 标准库中的一个内部例程,但在 Swift 5 中不再存在。听起来您可能有使用 Swift 4 编译的目标代码,但是,您正试图在具有Swift 5 库。这都是 Swift 5 中 ABI 稳定性更改的一部分,并且现在能够在 Swift 5 及更高版本中使用 ABI-stable 框架(在 MacOS 上,Linux 还不是 ABI-stable)。
确保应用程序是使用 Xcode 10.2.x 编译器编译的。一件可能的事情是 compile-toolchains 被设置为非标准编译器。
推荐阅读
- javascript - 擦除字符会产生错误
- ios - 对成员“过滤器”swift4 的模糊引用
- swift - 在 Swift 中从 Array 的字典中过滤项目
- php - 没有实体的存储库
- javascript - 如何将 React 方法添加到 React 之外的对象
- postgresql - Postgres & JSONB - Levenshtein 参数
- django - 使用 modelname.filevariable.url 上传文件的 Django 电子邮件附件
- javascript - 如果元素不是直接子元素,则仅使用 CSS 选择具有特定类的元素的第一次出现
- php - 在 Laravel 中将数据推送到队列
- web - IE11 某些选择在桌面上被视为可点击