2012-09-29 77 views
1

林編譯時,我的設備鏈接錯誤只

File is universal (3 slices) but does not contain a(n) armv7s slice: /Users/xxx/Desktop/xxxxxxx/DropboxSDK.framework/DropboxSDK for architecture armv7s clang: error: linker command failed with exit code 1 (use -v to see invocation)

伊夫檢查了所有的.m文件鏈接,並都可以得到follwoing錯誤,爲什麼只有這樣做對設備和哪些呢編譯器想停止它抱怨?

+0

我不知道修復程序,因爲我沒有使用該庫,但抱怨是關於DropboxSDK.framework的,所以您應該關注連接它的細節而不是您自己的文件。 –

+0

它似乎是說你的構建中的某些內容不是爲armv7s體系結構編譯的,而你要安裝的設備需要爲該體系結構編譯的文件。 (這是一個令人困惑的混亂,我知道 - 我經常會向另一個人詢問有關這類事情的建議,但是在混淆了半小時後沒有成功。) –

+0

您是否使用任何基於以前版本的第三方庫iOS6的? – tiguero

回答

5

「armv7s」是iPhone 5中新ARM處理器支持的指令集.Xcode 4.5默認生成armv7和armv7s的二進制文件。

鏈接器錯誤意味着您的應用程序是針對armv7和armv7s(以及針對模擬器的i386)編譯的,但鏈接到不包含armv7s代碼的DropboxSDK框架。

所以,你有以下幾種選擇:

  • 下載並安裝最新的DropboxSDK框架。根據CHANGELOG,iPhone 5的支持已被添加。
  • 僅編譯「armv7」的應用程序。這是在您的目標的「構建設置」的「架構」中配置的。

你說「沒有引用Dropbox的lib」。但必須提供一些對該庫的參考,否則鏈接器不會投訴。您可以在目標設置的「構建階段」選項卡的「鏈接二進制文件庫」部分中進行檢查。

+0

您先生是紳士和學者!謝謝,下載新的Dropbox SDK對它進行排序。加一個清晰簡潔的答案。謝謝 – JSA986

+0

@ JSA986:不客氣。 –