Xcode 4.6 で iOS アプリを使用しています。最近、iPhone 6.1 シミュレーターでビルドして実行しようとしたときに、「Mach-O リンカー エラー」が発生しました。それは言い続けました:
ld: アーキテクチャ i386 のシンボルが 17 個重複しています。
これを解決する方法を知っている人はいますか?
本当にありがとう!
「ビルドフェーズ」->「ソースのコンパイル」に移動して、クラスの重複を探します。
! に " *.m " ファイルがあるかどうかを確認してください#import
。私のミスだったようです…
私の例では、宣言しました
extern NSString const *keyString
2 つの異なるファイルで。そのうちの1つの名前を変更すると、問題が解決しました。
解決策を提供できるかどうかはわかりませんが、xCode 4.6でも同じことが起こったので、答えを共有します。Cクラスヘッダーと実装ファイルを追加し、それらをmainに含めました。次に、その新しいCクラスヘッダーと実装を削除することにしました。同じ名前と関数呼び出しで新しいcクラス/ヘッダーを再度追加することになったとき、エラーが発生しました。
率直に言って、これはバグかもしれません。私が修正した唯一の最速の方法は、新しいプロジェクトを開始し、すべてのクラスを取り込むことでした。
Build Phases" -> "Compile Sources" ボタンをクリックします "Validate Settings"
それはあなたのプロジェクトを修正します