gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 07:43:43 28 4
gpt4 key购买 nike

我需要为 C 库创建一个快速包装器,以便在 iOS 和 macOS 上使用。我已将 .a 添加到框架列表并将其包含在 library search path 中。我已将头文件添加到项目并将其添加到 User header search paths 并且我还向项目添加了一个 module.modulemap。看起来像这样:

module codinglibc [system][extern_c] {
header “codinglibc.h”
export *
}

但是当我在 Swift 中导入模块时:

import Foundation

import codinglibc

我收到此错误消息:No such module 'codinglibc'

该项目是一个 Cocoa 框架,我一直在遵循本指南:https://medium.com/swift-and-ios-writing/using-a-c-library-inside-a-swift-framework-d041d7b701d9

我已经查看了很多 stackoverflow 的答案,但大多数已经通过添加导入路径解决了,我已经完成了,Xcode 可以找到头文件和静态库,所以这不是问题。

所以:1. 我是否做了明显错误但我没有注意到的事情?2. 我应该改用 briding headers 吗?

编辑:我尝试启用Allow Non-modular Includes In Framework Modules 还是没有成功

最佳答案

答案很琐碎,但很烦人。

如果你在Xcode项目中添加module.modulemap,Xcode不会将其注册为“待导入”,所以你需要做的是添加你的路径 header 中的 module.modulemap 文件包含。

关于swift - 在 swift 中使用静态 C 库,找不到模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51533426/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com