在swift中使用静态C库,找不到模块
我需要为iOS和macOS上使用的C库创建一个swift包装器。 我已将在swift中使用静态C库,找不到模块,swift,static-libraries,static-linking,Swift,Static Libraries,Static Linking,我需要为iOS和macOS上使用的C库创建一个swift包装器。 我已将.a添加到框架列表中,并将其包含在库搜索路径中。我已经将头文件添加到项目中,并将其添加到用户头搜索路径中,我还向项目中添加了模块.modulemap。看起来像这样: module codinglibc [system][extern_c] { header “codinglibc.h” export * } 但当我在Swift中导入模块时: import Foundation import codingl
.a
添加到框架列表中,并将其包含在库搜索路径中。我已经将头文件添加到项目中,并将其添加到用户头搜索路径中
,我还向项目中添加了模块.modulemap
。看起来像这样:
module codinglibc [system][extern_c] {
header “codinglibc.h”
export *
}
但当我在Swift中导入模块时:
import Foundation
import codinglibc
我收到这个错误消息:没有这样的模块“codinglibc”
该项目是一个Cocoa框架,我一直遵循以下指南:
我看了很多stackoverflow的答案,但大多数都是通过添加导入路径解决的,我已经做了,Xcode可以找到头文件和静态库,所以这不是问题所在
因此:
1.我是否做了一些我错过的明显错误的事情?
2.我应该改用绑定头吗
编辑:我尝试启用允许框架模块中的非模块化包含
仍然没有成功答案很琐碎,但很烦人
如果在Xcode项目中添加modulemap.modulemap
,Xcode将不会将其注册为“待导入”,因此您需要做的是在标头中添加modulemap.modulemap
文件的路径 C库是多体系结构的吗?它能在iPhone、iPad、模拟器等上工作吗?@hgale是的,它能工作。我正试图做你在这里做的事情。你能把你的答案写下来吗?我不清楚。@hgale很抱歉回复太晚,您可以在此处设置生成设置,以添加标题包含部分。这就是我添加模块路径的地方。modulemap:)