私は事前にお詫び申し上げます。私が働いているプロジェクトは、いくつかのNDAの下にありますので、私はいつもと同じように具体的になることはできません。リンカエラー - プロジェクトが完全にクリーニングされていませんか?
私は、事前コンパイルされたライブラリを.hと.aファイルの形式で含むiOSプロジェクトに取り組んでいます。私はこのライブラリの特定のバージョンで開発を開始し、すべてうまくいきました。彼らはそれ以来、特定の新機能に必要な新しいバージョンをリリースしました。
旧バージョンと新バージョンの間で、いくつかの関数名が変更されました。私は新しいメソッドを呼び出すために自分のコードを更新すると、私はコンパイル時にApple Mach-O Linker Error
を取得しています:(名前は無実を保護するために変更されている)
Undefined symbols for architecture armv7:
"methodName", referenced from:
myMethod() in MyClass.o
ld: symbol(s) not found for architecture armv7
collect2: ld returned 1 exit status
私はそれはそれだけのARMv7が含まれていないように見えます知っていますコードですが、実際は赤ちゃんです。プロジェクトとターゲットのアーキテクチャー設定をStandard (armv6 armv7)
に設定した場合、armv6と言う以外は同じリンカーエラーが発生します。
問題は、私は新しいプロジェクトに新しい.hと.aファイルを置くことができ、この同じメソッドを呼び出してリンカエラーを取得しないことです!
私は、清掃されていないものがあり、古い.aファイルに対してコンパイルしようとしていると感じています。私はSnow LeopardでXcode 4.1を使用しています。私は、プロジェクトからファイルを削除しようとしました。セクションのBuild Phases
セクションの.aファイルを削除して、クリーニングして、.aファイルを追加して再ビルドしましたが、まだエラーが出ます。私は狂っています。ここに。