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を追加します。
関連コードを投稿してください。 – shallowThought
この正確な問題が発生しています。 Xcode 9ベータ1では発生しません。ベータ2で新しくなりました。ベータ3で修正されることを期待していましたが、私はあなたの問題を解決しようとします。 – DerrickHo328
@import xml2を使用すると有効な回避策があることを確認できます – DerrickHo328