Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在Swift中使用libxml?_Ios_Objective C_Swift - Fatal编程技术网

Ios 如何在Swift中使用libxml?

Ios 如何在Swift中使用libxml?,ios,objective-c,swift,Ios,Objective C,Swift,我尝试使用这种新语言,用我的一些旧代码开始一个新项目, 我在旧项目中使用了Libxml2.2,因此在我将代码放入新项目后,xcode显示“libxml.h/parse.h file not found”。 我已经导入了“libxml2.2.dylib”以便在Xcode 6中使用我的项目,我导航到我的项目的“构建设置”,并选择了我的目标。然后,我在构建设置中搜索“标题搜索路径”,并将以下行添加到调试和发布中: $(SDKROOT)/usr/include/libxml2 我发现,如果将“-lxm

我尝试使用这种新语言,用我的一些旧代码开始一个新项目, 我在旧项目中使用了Libxml2.2,因此在我将代码放入新项目后,xcode显示“libxml.h/parse.h file not found”。
我已经导入了“libxml2.2.dylib”

以便在Xcode 6中使用我的项目,我导航到我的项目的“构建设置”,并选择了我的目标。然后,我在构建设置中搜索“标题搜索路径”,并将以下行添加到调试和发布中:

$(SDKROOT)/usr/include/libxml2

我发现,如果将“-lxml2”添加到其他\u LDFLAGS,则可以省去导入“libxml2.2.dylib”。

您必须创建一个自定义
模块映射
文件,其中包含
libxml/tree.h
的头,如下所示:

module libxml [system] {
    header "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/libxml2/libxml/tree.h"
    export *
}
然后将此文件(modulemap.modulemap)放入文件夹(例如module)中,并将其添加到项目和目标的
生成设置中


现在可以使用
@import libxml在您的代码中。

我已经使它与CommonCrypto一起工作,但是libxml应该是相同的。要记住的事情

模块模块映射

阅读

创建一个名为
libxml2
的文件夹(在我的例子中,它与我的项目文件位于同一目录),然后在其中创建一个
module.modulemap
文件

module libxml2 {
  header "/usr/include/libxml2/libxml/tree.h"
  export *
}
这里我只添加了
tree.h
,但您可以根据需要添加更多

SWIFT\u包含路径

转到目标生成设置,将其添加到导入路径中

${SRCROOT}/libxml2
$(SDKROOT)/usr/include/libxml2
标题搜索路径

阅读

转到目标生成设置,将其添加到
标题搜索路径中

${SRCROOT}/libxml2
$(SDKROOT)/usr/include/libxml2
有趣的相关帖子


这不起作用,因为编译器会说不能包含非模块化的include当前有libxml2的模块映射文件;也许在写这个问题/评论时它并不存在。请注意,该文件实际上建议您从Xcode 9开始将“-Xcc-I$(SDKROOT)/usr/include/libxml2”添加到Xcode项目中的其他标志中