Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在swift中使用静态C库,找不到模块_Swift_Static Libraries_Static Linking - Fatal编程技术网

在swift中使用静态C库,找不到模块

在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

我需要为iOS和macOS上使用的C库创建一个swift包装器。 我已将
.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:)