2009-07-21 60 views
7

我遇到了一個問題,即使用iPhone SDK 3.0構建的靜態庫Pinch Analytics r64在我的應用程序中正確鏈接瞄準iPhone OS 2.0。這似乎是一個相當普遍的問題,Pinch Analytics' site甚至有an entire page devoted to answering this question.使用Base SDK 3.0構建iPhone SDK 2.x目標時,鏈接使用SDK 3.0創建的靜態庫

基本上,他們說你的項目的基本SDK設置爲3.0和設置您的iPhone操作系統部署目標SDK 2.0(或任何版本你靶向)。我已經採取了這兩個步驟,證實我沒有覆蓋所有的在我的目標設置,項目設置,已清理我的目標,但我依然得到以下鏈接錯誤:

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團隊發送了幾封電子郵件後,問題就解決了。基本上,你應該永遠不要使用DROPDOWN來選擇一個不同的ACTIVE SDK

在Project Info中將Base SDK設置爲3.0。在Project Info中將iPhone OS部署目標設置爲2.0(或您要定位的版本)。將設備/配置/目標下拉列表設置爲Base SDK(3.0),或者Xcode將使用與所選「Active SDK」關聯的OLD工具鏈。

4

檢查你的編譯器。我懷疑用LLVM-GCC4.2和GCC4.0編譯的代碼之間有不匹配。

+0

你是對的 - 通過我的編譯輸出回顧我正在使用gcc-4.0。我不知道該怎麼改變,因爲我的項目和目標設置都指定了默認值4.2。 – pix0r 2009-07-22 15:41:52