Xcode 9 Beta 2 libxml 错误
Xcode 9 Beta 2 libxml error
当我使用 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 在我的项目中包含了两次。如果我用 @import xml2
语句更改所有 #include/imports
,它会再次编译。包含由定义保护。
我想知道这是否是正确的解决方案以及为什么需要这个或者这是一个错误?
重现问题:
我正在使用 libxml 的包装器,因此我可以使用 objc。当我剥离所有代码时,可以使用这些 files/classes:
重现问题
// 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 中修复。
当我使用 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 在我的项目中包含了两次。如果我用 @import xml2
语句更改所有 #include/imports
,它会再次编译。包含由定义保护。
我想知道这是否是正确的解决方案以及为什么需要这个或者这是一个错误?
重现问题:
我正在使用 libxml 的包装器,因此我可以使用 objc。当我剥离所有代码时,可以使用这些 files/classes:
重现问题// 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 中修复。