4

我正在尝试将 libarchive 嵌入到我正在构建的基于 Swift 的框架中。

我创建了一个模块映射以私下包含(接近末尾的archive.h内部模块)libarchive

framework module X
{
    requires objc, blocks, objc_arc
    umbrella header "X.h"

    private header "XPrivate.h"
    private header "x.h"

    use Darwin.C

    module libarchive
    {
        private header "archive.h"
        export *
    }
}

在内部archive.h,以下行导致错误:

#include <inttypes.h>

我不明白为什么这个包含没有被映射到我的 SDK 中正确的 inttypes 模块。

我的 SDK 中定义了一个模块 Darwin.C.inttypes,在这里:

/Applications/Xcode.app/.../MacOSX10.12.sdk/usr/include/module.modulemap

有人能告诉我如何让#includeinarchive.h映射到声明的模块吗?

4

1 回答 1

2

通过更改为 . 来伪装成系统框架 framework module X [system]

不是正确的解决方案,但它似乎有效。

于 2018-06-06T05:05:34.487 回答