当我使用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。
答案 0 :(得分:0)
正如Calimari328在评论中所说,这已在xCode beta 3中修复。