2009-07-21 9 views
7

iPhone SDK 3.0で構築された静的ライブラリPinch Analytics r64を取得する際に問題が発生しました。 iPhone OS 2.0をターゲットにしています。これはかなり一般的な問題であると思われる、とPinch Analytics' siteも基本的にan entire page devoted to answering this question.SDK 3.0で作成された静的ライブラリをリンクするとき、Base SDK 3.0でiPhone SDK 2.xターゲットを構築する

を持って、彼らは3.0にプロジェクトのベースSDKを設定し、2.0(またはあなたが標的にしているものは何でもバージョン)SDKへのあなたのiPhone OS導入目標を設定すると言います。私は、私は私のターゲット設定のプロジェクトの設定を上書きしていないよということを検証、これらの手順の両方をとっている私の目標を掃除しているが、それでも私は、次のリンカエラー取得しています:

Undefined symbols:
"___restore_vfp_d8_d15_regs", referenced from: -[Beacon connectionDidFinishLoading:] in libPMAnalytics-r64.a(Beacon.o) -[Beacon connection:didFailWithError:] in libPMAnalytics-r64.a(Beacon.o)

"___save_vfp_d8_d15_regs", referenced from: -[Beacon connectionDidFinishLoading:] in libPMAnalytics-r64.a(Beacon.o) -[Beacon connection:didFailWithError:] in libPMAnalytics-r64.a(Beacon.o) -[Beacon connection:didReceiveData:] in libPMAnalytics-r64.a(Beacon.o)`

など

私はここに私のウィットの終わりに来ています。どんな提案も素晴らしいでしょう!

答えて

3

Pinch Mediaチームに数回Eメールを送信した後、問題は解決されます。基本的には、は、別のアクティブなSDKを選択するためにドロップダウンを使用しないでください

プロジェクト情報でBase SDKを3.0に設定します。 Project InfoでiPhone OS Deployment Targetを2.0(または対象とするバージョン)に設定します。デバイス/設定/ターゲットのドロップダウンセットをBase SDK(3.0)のままにするか、Xcodeは選択した "Active SDK"に関連付けられているOLDツールチェーンを使用します。

4

コンパイラを確認してください。私はあなたがLLVM-GCC4.2とGCC4.0でコンパイルされたコードに不一致があると思われます。

+0

私はgcc-4.0を使用しています。私はプロジェクトとターゲット設定の両方がデフォルト4.2を指定しているので、これをどこで変更するかはわかりません。 – pix0r

+0

シミュレータまたはデバイス向けにコンパイルしていますか?あなたのエラーから、libPMAnalytics-r64.aがLLVMでコンパイルされていることを示唆していますが、私はあなたが4.2でiPhoneOSをかなりコンパイルできるとは思わなかった。コンパイラを4.0に設定し、問題が解決するかどうか確認してください。 –

+0

私自身の質問にちょうど答えました - しかし、私はあなたの助けに感謝します。私は、プロジェクト・ウィンドウのドロップダウンを使用して、Target SDKと思ったものを選択していました。これは正しくありません。常にProject InfoのBase SDKと同じバージョンにしておきます。 ありがとう! – pix0r

関連する問題