当我使用beta 1构建项目时,它可以很好地工作,但是在beta 2中,它不能工作。我认为在此构建中,libxml会出现各种错误。例如:
* tree.h:81:3: Unsupported: typedef changes linkage of anonymous type, but linkage was
already computed
* tree.h:346:8: Redefinition of '_xmlElement'
我认为这是因为某种程度上libxml在我的项目中包含了两次。如果我用
#include/imports
语句更改了所有@import xml2
,它将再次编译。包含由定义保护。我想知道这是否是正确的解决方案,为什么需要这样做,或者这是一个错误?
重现问题:
我在libxml周围使用包装器,因此可以使用objc。当我剥离所有代码时,可以用以下文件/类重现该问题:
// DDXMLNode.h
#import <libxml/tree.h>
//@import xml2.tree;
@import Foundation;
@import ObjectiveC.runtime;
@interface DDXMLNode : NSObject<NSCopying>
@end
// DDXMLNode.m
#import "DDXMLNode.h"
@implementation DDXMLNode
@end
我在构建阶段添加了libxml2,仅添加了libxml2.tbd。
最佳答案
正如Calimari328在评论中说的那样,此问题已在xCode beta 3中修复。
关于ios - Xcode 9 Beta 2 libxml错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44893149/