未找到,objective-c,swift,linux,gnustep"/>

首页 > 解决方案 > 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 库。有关解决此问题的任何建议?

标签: objective-cswiftlinuxgnustep

解决方案


推荐阅读