2013-02-05 164 views
0

我創建了一個靜態庫與Xcode我編譯選擇一個設備。iOS靜態庫XCode(鏈接錯誤)

我在Xcode將此添加到我的媒體庫測試項目4.6

但在鏈接過程中,我總是有2個錯誤...

我跟着這個教程:Static Library iOS Tutorial

如果我下載的樣本代碼我有同樣的錯誤..

ld: warning: ignoring file /Users/Downloads/ICodeBlogStaticLibrarySample/MathTest/Classes/iCodeBlogsMathLibrary/libICodeMathUtils.a, missing required architecture i386 in file /Users/Downloads/ICodeBlogStaticLibrarySample/MathTest/Classes/iCodeBlogsMathLibrary/libICodeMathUtils.a (2 slices) 

爲i386硬件架構未定義的符號: 「_OBJC_CLASS_ $ _MathFunctions「,引用來自: MathTestAppDelegate.o中的objc-class-ref 未找到架構i386的ld:symbol(s) clang:錯誤:linker命令失敗,退出代碼1(使用-v查看調用)

+0

哪個錯誤?因爲「鏈接期間出現2次錯誤」根本沒有提供信息。 – Jack

+0

兩個錯誤。 1.缺少';'和2.解決第一個錯誤。 –

+0

只是一個同情的記錄:靜態庫吸入Xcode。 –

回答

1

我跟着這個教程一步一步:

Tutorial

特別

我不得不添加這些標誌:-ObjC-all_load

+1

那麼,你添加了什麼? – Kenny

0

請仔細閱讀並嘗試理解錯誤信息,這是一個有意義的英語短語。

symbol(s) not found for architecture i386

因此,庫中沒有針對i386體系結構的編譯代碼。這意味着它或者僅針對ARM(針對實際iOS設備,如iPhone或iPad)或針對64位模擬器(x86_64)進行編譯。使用otool來找出庫中存在的體系結構。

+10

是的,但試圖找出Xcode中的3492個不同的旋鈕中的哪一個來修復它。 –

1

我曾經做過一個靜態求婚,我有同樣的問題。 解決方案是「在設備上運行應用程序」不在模擬器上,它工作正常,然後!!! 希望這有助於...

+0

這對我有用。謝謝! –

+0

這是一個解決方法,而不是一個解決方案... – Jake

1

,您必須選擇的iOS模擬器同時建設該項目。選擇iOS設備,它應該沒問題。