どうにかして、iPhone 用にコンパイルするときに XCode プロジェクトの設定を台無しにしてしまいました。と言ってリンクすると失敗します
ld: warning: in /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/Frameworks/AddressBook.framework/AddressBook, file is not of required architecture
... (same for the other frameworks).
問題は、iPhone 用にコンパイルするときにシミュレータ フレームワークを使用しようとしていることです。
実際のリンク コマンドを見ると、次のようになります。
setenv IPHONEOS_DEPLOYMENT_TARGET 3.1
setenv MACOSX_DEPLOYMENT_TARGET 10.5
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk
-L/Users/ben/development/xcode_output/Debug-iphoneos
-F/Users/ben/development/xcode_output/Debug-iphoneos
-F/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/
System/Library/Frameworks
-F/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/
System/Library/Frameworks
シミュレータ フレームワークと iPhone フレームワーク パスの両方が提供されていることがわかります。どうすればそれを変更できますか? 設定のどこにも見つかりませんでした。
プロジェクト設定の[FRAMEWORK_SEARCH_PATHS, -F]は空です。
おそらく問題は、静的ライブラリでのリンクにあります。その静的ライブラリのプロジェクト設定には、多くの重複した設定が含まれています。常に 2 つの同一の設定があります (たとえば、2 つの Search Path ブロック、2 つの GCC-4.2 コード生成ブロックなど)。これは正常に見えません。
よろしく