2017-07-03 8 views
2

私はベータ1でプロジェクトをビルドするとうまくいきますが、ベータ2ではうまくいきません。このビルドでは、私はlibxmlであらゆる種類のエラーが発生すると思います。たとえば、Xcode 9 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が自分のプロジェクトなどに2回含まれているからだと思います。 #include/importsをすべて@import xml2ステートメントで変更すると、再びコンパイルされます。インクルードは定義によって保護されます。

これが正しい解決策であり、なぜこれが必要なのか、これがバグなのかを知りたいですか?私は、私はにObjCを使用することができますのlibxmlのラッパーを使用してい

は、問題を再現します。私はすべてのコードを削除する場合の問題は、これらのファイル/クラスで再現することができます。

// 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

関連コードを投稿してください。 – shallowThought

+0

この正確な問題が発生しています。 Xcode 9ベータ1では発生しません。ベータ2で新しくなりました。ベータ3で修正されることを期待していましたが、私はあなたの問題を解決しようとします。 – DerrickHo328

+0

@import xml2を使用すると有効な回避策があることを確認できます – DerrickHo328

答えて

0

Calimari328がコメントで述べたように、xCodeベータ3で修正されています。

関連する問題