その他/プロジェクト依存関係を付けたiPad用のビルドリンクエラーが出る

先の記事でXcodeでのプロジェクト間の依存関係を設定する方法を紹介しましたが、この方法を使ってライブラリをリンクした際にiPadでプロジェクトをビルドすると、

"___restore_vfp_d8_d15_regs", referenced from: <シンボル名>
"___save_vfp_d8_d15_regs", referenced from: <シンボル名>
collect2: ld returned 1 exit status
ld: symbol(s) not found

というような形でリンクエラーが出ることがあります。

この原因は、ライブラリ側のアーキテクチャがarmv6なのに対して、アプリケーション側のアーキテクチャがarmv7であるためです。

この問題が起きた場合は、以下の様にすることで、問題が解決します。

1. ライブラリ側のxcodeprojを開く
2. アクティブSDKをDevice 3.2に設定
3. ターゲットを選択して右クリックで「情報を見る」
4. アーキテクチャを「Standard(armv6)」から、「Optimized(armv6 armv7)」に変更

これで、元のプロジェクトからクリーンビルドすると、上記のリンクエラーが解決します。

Comment

管理者だけに表示を許可する

Trackback

Trackback URL:

http://deathcube.blog36.fc2.com/tb.php/24-14905c96