objective-c - Swift 构建 Linux 与 macOS未找到
问题描述
我正在尝试在 Swift 包中使用旧的 Obj-C 静态库。通过在 swift build 命令中使用编译器标志,我可以在我的 mac 上成功编译包。但是,在运行 5.1-xenial 的 Dockerfile 上运行时,静态库中的头文件会产生以下错误:
#import <Foundation/Foundation.h> "Foundation.h" not found.
据我了解,是因为机器上没有 Objective-C 基础库吗?我是否必须安装类似 GNUstep 的东西?Swift 是否可以与 Objective C 互操作(我看到在另一个 SO 帖子上可能无法实现)?
GNUStep 方法的更新:我能够安装和运行 GNUStep,允许与 Swift 一起使用 Objective-C 开发工具(即 Linux Foundation 框架)但是在快速构建期间我最终产生了这个错误:
/usr/GNUstep/Local/Library/Headers/GNUstepBase/GSObjCRuntime.h:92:1: error: expected identifier or '('
@class NSArray;
^
我认为这是因为 Swift build 将头文件视为纯 C 库。有关解决此问题的任何建议?
解决方案
推荐阅读
- angular - 如何在构造函数中使用 Jasmine 私有 ActivatedRoute 进行测试?
- symfony - 在 symfony 中注入许多类似服务的最佳实践是什么?
- flutter - 如何将粘性标题添加到列表视图?
- java-native-interface - 如何使用Angr分析共享库中的JNI函数?
- pandas - 使用 to_datetime 几个列名
- rdf - 如何从源数据生成语言标签
- matplotlib - 如何根据图形大小控制 matplotlib 注释(更具体地说是箭头)?
- javascript - 我的复选框未预先填充 redux 状态中存在的值,即 true 或 false
- csv - 将 Dataprep 配方导出为 CSV 时重复标头
- firebase - 在 Flutter 中捕获云 Firestore 文档快照错误