XCode(iPhoneSDK)でLinkが上手くいかない場合の確認事項
SQLiteライブラリのリンクの設定でちょっとはまったので備忘録に。
Linkingのエラーが出たら、ビルド設定の【Library Search Path】を確認し、別のパスが優先で指定されていたらその値を削除する
( このとき検索窓を使って設定を探す場合は、Showのところを【All Settings】にしておかないと、
独自定義した値しか表示されず混乱するので注意 )
要はXCodeが勝手にPath設定を追記して、他の環境のライブラリを優先指定しているのが原因。
libxmlなど、別のフレームワークや環境等にも含まれるdylibを指定する場合、同様の問題が起こる可能性がある。
自分の場合は、XAMPPのほうのlibsqliteが優先で指定されていて、
iPhone実機で動作させる際にリンクエラーが出た。
ちなみに、シミュレータと実機ではそれぞれ別のdylibを呼ばないといけないが、
通常は自動でXCodeが切り替えてくれるところを、自前で切り替えたい場合は、
下記のパスを【Library Search Path】に指定すれば良い。
■シミュレータ:
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.2.sdk/usr/lib
■実機:
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.2.sdk/usr/lib