导入没有git的C库

tay*_*ift 5 swift

有没有办法在不创建git存储库的情况下在Swift项目中包含C库?这似乎是在Package Manager文档中解释的唯一方法.启动一个git repo只是为了包含一些已经在我的计算机上的C头看起来很笨重.

我尝试module.map在模块中使用文件,就像任何纯Swift模块一样,并且C模块导入正常,但不包含符号.

这是我的项目的样子:

Project
??? Package.swift
??? Sources
    ??? Project
    ?   ??? main.swift
    ??? The_C_module_i_want
    ?   ??? module.modulemap
    ?   ??? Package.swift (empty, else it won’t compile)
    ??? Some_Swift_module
        ??? taylor.swift
Run Code Online (Sandbox Code Playgroud)

顶级Package.swift看起来像

import PackageDescription

let package = Package(name: "Project",
                targets   : [
                             Target(name: "Project", 
                                    dependencies: ["Some_Swift_module", 
                                                   "The_C_module_i_want"]),
                             Target(name: "Some_Swift_module"),
                             Target(name: "The_C_module_i_want")
                            ]
                )
Run Code Online (Sandbox Code Playgroud)

模块映射如下所示:

module The_C_module_i_want {
    header "/usr/local/include/The_C_library/the_c_library.h"
    export *

    link ...
    link ...
    ...
}
Run Code Online (Sandbox Code Playgroud)