XCode4.0.2で file was built for archive which is not the architecture being linked (armv7) というエラーが出たとき
約3ヶ月も何も書いてませんでした。
どういう方針で書いていけばいいかもまだ決めていなかったので適当ですw
さて、タイトルの話。
XCode3時代に作ったアプリをXCode4で開き直し、「さてビルドしよう」と思った矢先に出たエラー。
コンソールにはこんな感じの出力が
Ignoring file <アプリのディレクトリ>/Classes/libHogeHoge.a, file was built for archive which is not the architecture being linked (armv7)
ビルドの設定では以下のように指定。
Architectures:Standard(armv6,armv7)
Base SDK:iOS4.3
iOS Deployment Target:iOS 3.1
Google様を頼っていろいろ検索してみるも、よき解決策が見つからず・・・。
結局armv7でコンパイルされたlibHogeHoge.aを用意してもらわなければならないのかなあと途方に暮れていました。
「ビルドの設定でアーキテクチャをarmv6,armv7で指定したけど、XCode4様がarmv7でしかコンパイルしてくれないんじゃね?」と思い、Archtecturesの値を「armv6」と直接手打ちで入力してみたところ、ビルドが通り、アプリが動作することを確認できました!!
こんな感じです。
しかし、これであっているのかは正直微妙・・・。
iOS4.3.3/iPhone4 と iOS 3.1.3/iPhone 3GSでは動作することを確認してみたけど・・・。