我创建了一个非 syslib C 模块(我们称之为CModule),并使用Swift Package Manager将其打包,这样我的代码就在其中$(package_directory)/Sources/CModule,并且Package.swift在上述父目录中包含:
// swift-tools-version:5.3
import PackageDescription
let package = Package(
name: "CModule",
products: [
.library(
name: "CModule",
type: .dynamic,
targets: ["CModule"]),
],
targets: [
.target(
name: "CModule",
dependencies: [],
path: "Sources",
cSettings: [
.headerSearchPath("CModule")])
]
)
Run Code Online (Sandbox Code Playgroud)
该包编译时没有错误,但在将其添加到另一个 Swift 项目并File -> Swift Packages -> Add Package Dependency输入本地存储库 ( file:///Users...etc) 之后,这确实给了我正确的目标,import CModule在这个新项目中执行此操作会出现“找不到模块”错误。
我已经重新启动了 Xcode,清理了 Build 文件夹,然后进行了正常的Build,并尝试了另一种方法,例如如何将自定义 …