xcodeでiphone用のライブラリを作るときなぜかarmv7s関連でビルドエラーになってずっと困っていました。
こんなエラーが出るんだけど、
ld: warning: ignoring file ../../../sdk/lib/libfoundation_ios_d.a, file was built for archive which is not the architecture being linked (armv7s): ../../../sdk/lib/libfoundation_ios_d.a
他いろいろ出てくるけどどうやらarmv7s関連のコードがライブラリの中にないと言っている様子。でもライブラリのプロジェクト設定[Valid Architecture]はarmv7とarmv7sと設定ある。
そしてググっていろいろ探しまわったけど分からず、いじくってたら突然発見しました!
プロジェクトのTARGETSの[Build Settings]-[Architectures]-[Build Active Architecture Only]でデフォルトDebug版ではYESになっているためにいくらビルドしてもarmv7のライブラリしか出来なかったらしい。これをNOにすると2つのアーキテクチャが生成されて実行ファイル側もビルドが通るようになった!
しかしなぜに[Build Active Architecture Only]の設定がデフォルトYESになってるんだろう。なんかのミス?