0

このエラーは、ファイル「VAMenuScreenViewController」からファイル「VARendererViewController.h」をインポートしようとすると発生します。

duplicate symbol _gestureMinimumTranslation in:
/Users/Sam/Library/Developer/Xcode/DerivedData/Virtual_Human_Avatar-fwgdkxpnkzapxrdzkggtmbnfhjwb/Build/Intermediates/Virtual Human Avatar.build/Debug-iphonesimulator/Virtual Human Avatar.build/Objects-normal/i386/VARendererViewController.o
/Users/Sam/Library/Developer/Xcode/DerivedData/Virtual_Human_Avatar-fwgdkxpnkzapxrdzkggtmbnfhjwb/Build/Intermediates/Virtual Human Avatar.build/Debug-iphonesimulator/Virtual Human Avatar.build/Objects-normal/i386/VAMenuScreenViewController.o

ld: アーキテクチャ i386 の重複するシンボルが 1 つあります。

誰か私にいくつか提供してくれませんか

4

2 に答える 2

4

同じシンボルを定義している 2 つのコンパイル ユニット (2 つのソース ファイル) があります。

これは、2 つの個別の .m ファイル (または他のコンパイル単位; .c、.mm など) でシンボルを定義したか、ヘッダー ファイルでシンボルを定義してそれらの 2 つのファイルにインポートしたことが原因である可能性があります。あるいは、変数宣言を .xml なしでヘッダー ファイルに押し込むと、インポートextern先のすべてのファイルにその名前のシンボルが作成されます。.m

が変数であると仮定するgestureMinimumTranslationと、本当にグローバル変数が必要な場合は、次のように 1 つの .m ファイルで定義する必要があります

int gestureMinimumTranslation;

次に、対応するヘッダーで:

extern int gestureMinimumTranslation;

そして、他の .mファイルは上記のヘッダーをインポートする必要があります。

于 2013-03-25T00:08:18.170 に答える
0

リンカーは、共通のシンボルを使用して一連のオブジェクトを結合しようとしています。Compile Sources Build Phaseこれは、エントリまたはヘッダー ファイルが重複している場合によく発生します。これらを削除してみてください。

于 2013-03-25T00:09:43.203 に答える