2011-08-27 47 views
0

我的應用程序構建罰款模擬器,但不是設備:的Xcode的ARMv7問題

LD:警告:忽略文件/Users/newuser/Downloads/release-1.5-tag/build/Release-iphoneos/parsekit .a,文件是爲存檔構建的,而不是被鏈接的體系結構(armv7)

我正在使用似乎不喜歡與armv7混合使用的ParseKit庫。

我想我必須做一些與圖書館的鏈接形式?但是如何?

謝謝。

回答

1

很可能您必須重新編譯ParseKit以獲得armv7體系結構。你是否遵循ParseKit主頁上的instructions for iPhone?它似乎沒有明確提到armv7,但我猜如果您將parsekit.a作爲ParseKit項目文件中的目標添加到您自己的項目文件中,那麼XCode應該認識到目標必須重新構建爲armv7

注意:說明是針對XCode 3的,我猜你使用的是XCode 4,但整個想法應該是一樣的。

+0

我遵循這一點,它一直工作,但現在當我嘗試部署到該設備的錯誤踢英寸如何重新編譯parsekit爲armv7?它提供英特爾選項。 – FBryant87

1

parsekit.a是一個靜態庫,它必須靜態鏈接到具有相同ABI的二進制文件。所以你有以下選擇:

  1. 建立你的代碼爲相同的ABI parsekit.a有;
  2. 構建parsekit.a爲armv7;
  3. 將parsekit構建爲共享庫;
  4. 編寫包裝爲parsekit.a將構建爲共享庫並公開所有您需要的API。
+1

謝謝,步驟2是一個簡單的嗎?我會怎麼做呢? – FBryant87

+0

我對xcode不熟悉,但它應該使用單個選項來完成,因爲它由單個編譯器標誌控制。通常,編譯armv5或armv6的代碼可以編譯爲armv7。 –

2

您似乎已經鏈接了該庫,只是它不是爲armv7構建的。

ParseKit Xcode項目有一個名爲ParseKitMobile的目標,它是爲armv7構建的。嘗試使用它。

enter image description here

您也可以嘗試改變「基地SDK」設置到iOS,應該給你手臂的架構選項。

+0

它說Parsekit的體系結構使用Mac OS,所以選項不同,有什麼想法? – FBryant87

+0

我看了一下ParseKit並更新了我的答案。 –