包含libxml2和LLVM模块映射

Nic*_*lai 5 llvm libxml2 swift

在尝试构建我创建的Swift包时,使用LLVM模块映射来包含libxml2 /usr/include/libxml2/,我收到以下错误:

Compiling Swift Module 'foo' (1 sources)
<module-includes>2:9: note: in file included from <module-includes>:2: 
#import "/usr/include/libxml2/libxml/catalog.h"

/usr/include/libxml2/libxml/catalog.h:22:10: error: 'libxml/xmlversion.h' file not found
Run Code Online (Sandbox Code Playgroud)

这是我的模块图:

module Clibxml2 [system] {

    umbrella "/usr/include/libxml2"
    export *
}
Run Code Online (Sandbox Code Playgroud)

我的虚拟main.swift文件现在只尝试导入模块:

import Clibxml2
Run Code Online (Sandbox Code Playgroud)

当我尝试使用另一个头路径/伞(例如/usr/include/CommonCrypto)时,它会编译.我确认xmlversion.h确实存在/usr/include/libxml2/libxml.我错过了什么吗?

nwe*_*hof 1

Swift 现在有一个-Xcc选项可用于传递额外的编译器标志:

swift build -Xcc -I/usr/include/libxml2
Run Code Online (Sandbox Code Playgroud)