4

ビルドしようとしたときにこのエラーが発生しました:

"シンボル__Z8ERRCHECK11FMOD_RESULTが重複しています:

/Users/codemenmini2012-2/Library/Developer/Xcode/DerivedData/MagicSleepFullVersion-agxulkdijnxbqmbuigucmrczufyw/Build/Intermediates/MagicSleepFullVersion.build/Debug-iphonesimulator/MagicSleepFullVersion.build/Objects-normal/i386/MagicSleepViewController.o

/Users/codemenmini2012-2/Library/Developer/Xcode/DerivedData/MagicSleepFullVersion-agxulkdijnxbqmbuigucmrczufyw/Build/Intermediates/MagicSleepFullVersion.build/Debug-iphonesimulator/MagicSleepFullVersion.build/Objects-normal/i386/MagicSleepViewControllerIpad.o

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

この人たちを解決する方法は?

4

8 に答える 8

19

あるファイルの内容を、同じインターフェース名を持つ2つのクラスを意味するインターフェース名を持つ別のファイルにコピーして貼り付けると、エラーが発生する場合があります。

コードには、同じインターフェイス名を持つ2つの異なるファイルがあります。

于 2013-02-07T08:41:44.907 に答える
4

私の場合、.h ファイルの代わりに誤って .m ファイルをインポートしてしまいました。このちょっとばかげた間違いのために誰かを助けることを願っています.

于 2014-09-01T13:22:02.013 に答える
3

2 つの異なるクラスで同じ名前の bool 変数を作成すると、このエラーが発生します。「シンボル__Z8ERRCHECK11FMOD_RESULTが重複しています」ので、MagicSleepViewController.mとMagicSleepViewControllerIpad.mの両方のクラスを確認してください。同じブール変数の場合。

bool 変数名を変更すると、問題が解決します。

于 2013-02-07T09:49:30.623 に答える
2

MagicSleepViewController.m と MagicSleepViewControllerIpad.m の間で重複するシンボル (またはメソッド、関数など) が少なくとも 1 つ (おそらく複数) あるようです。

1) 複製されたメソッドの 1 つのセットの名前を変更するか、2) MagicSleepViewController.m と MagicSleepViewControllerIpad.m をマージして、iPhone と iPad の両方で同じコードが機能するようにする方法を見つける必要があります (たとえば、ランタイム条件などを使用します)。コードが現在実行されているデバイスの種類を特定します)。

于 2013-02-07T08:34:38.117 に答える
0

私にとっては、ファインダーで名前付き重複を検索することが役に立ちました。

于 2014-12-18T17:22:49.337 に答える
0

私の場合の問題は、「ソースのコンパイル」での複数の参照が原因で発生しました。そこで、Project->Build Phases-> Compile Sources から 1 つ削除しました。

于 2016-09-20T08:38:01.250 に答える