6

我试图只包含头文件和 c 文件,但它们似乎被忽略了

4

2 回答 2

5

这是可能的,但通常的方法是定义一个名为“Csomething”的单独包,您只需在 C 库名称前面加上大写 C 并将其托管在 Github 上。C 包只需要包含一个空Package.swift文件和一个module.modulemap. 在module.modulemap您提到C标头的位置:

模块 CPackage [系统] {
  标头“/usr/local/include/myheader.h”
  链接“图书馆名称”
  出口 *
}

因此,在您的原始包中,您只需为 CPackage 添加一个依赖项,例如:

.Package(url: "https://github.com/aleph7/CHDF5.git", majorVersion: 1)

然后你可以import CPackage

https://github.com/aleph7/CHDF5是一个简单 C 包的好例子

于 2015-12-15T02:00:22.183 回答
1

除了@timbo 的回答,这里是此功能的完整文档:

https://github.com/apple/swift-package-manager/blob/master/Documentation/SystemModules.md

系统模块支持目前存在许多问题,但我们有修复计划。

于 2015-12-16T17:43:43.507 回答