swift - Apple Mach-O 链接器错误。 "_OBJC_CLASS_$_SwiftObject"和基金会未定义

标签 swift linker protocol-buffers foundation hyperledger-sawtooth

我有一个包含库的项目。如果我选择库作为构建目标,它将成功构建。如果我选择项目作为目标,我会出现链接器错误 Undefined Symbols for Architecture x86_64: 和 undefined symbol 列表。 奇怪的是 - 所有这些符号都是标准的东西,例如 "_OBJC_CLASS_$_SwiftObject", "Foundation.URLRequest.httpBody.setter : Foundation.Data?", "Swift.String.init(Swift.Substring) -> Swift.String".

Errors list

当我从构建中删除 SawtoothProtobuf.pb.swift 文件时,此错误消失。但是,当仅构建包含此文件的 lib 项目时,一切都会成功构建。

最佳答案

我也遇到了一个非常相似的问题。我尝试通过将 @objc 和 @objMember 放在所有必需的内容前面,从 swift 框架构建一个可由 obj-c 访问的静态库,但我遇到了与您类似的错误。这很奇怪,因为它在框架中工作,在代码所有者的演示应用程序中工作,但当我将它安装在我的上时,它失败了......

添加一个空白的 swift 文件为我解决了这个问题。我想需要将一些 swift 库加载到应用程序中,如果没有公开的 swift 代码,则不会发生这种情况。

关于swift - Apple Mach-O 链接器错误。 "_OBJC_CLASS_$_SwiftObject"和基金会未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51195905/

相关文章:

ios - 如何使 "freeform"UIViewController 适应多种屏幕尺寸?

swift - 为什么字面值比初始值设定项产生更高效的代码?

c - 链接 SDL2 在 OSX 上发出无数链接错误

ios - 我正在使用 alamofire 5 beta 版本进行 api 调用。在传递正确的参数后,我得到无效的响应参数

ios - 当应用程序收到指向自身的重定向时,URL 不受支持

c++ - 在 Fedora 21 上构建 butt

c - 在目标文件中嵌入链接器依赖项?

java - Akka grpc 可以消费非 Akka 服务的数据吗

c++ - Google Protocol Buffer 比较

Google 在 Golang 中的 Protocol Buffer