2010-07-29 56 views
1

我在嘗試鏈接iPhone應用程序以使用我正在使用的某個靜態庫時遇到問題。鏈接問題 - iPhone應用程序

該應用程序可以正常使用iPhone OS 3.0,但是當我嘗試升級到iOS 4.0時,我遇到了一些問題。

我試圖使用的庫是一個通用脂肪,其中包含arm和i386的版本。現在,當我嘗試使用這個胖庫時,出現「未找到符號」錯誤。它工作正常的設備(手臂),但同時嘗試編譯模擬器(i386)我有問題。

它給我的錯誤是:

"_OBJC_CLASS_$_ClassName", referenced from: file.o 
Symbol(s) not found." 

展望脂肪庫(使用納米)我看下的ARMv6和ARMv7列爲型「S」符號,我想這是它的工作的原因精細!然而,我無法在i386下找到相同的,我不知道爲什麼!

我看到一個符號「.objc_class_name_ClassName」列爲類型「A」,但是被稱爲缺失的符號沒有在那裏列出。

任何想法?

+1

我找到了答案在這裏:http://stackoverflow.com/questions/3140469/linker-error-only-simulator-with-own-library-after-update -to-iphone-sdk-4-0/3368489#3368489 – Dhaval 2010-07-30 03:12:03

回答

0

也許你需要建立針對iOS的4.0

+1

謝謝Lou!我用iOS4.0 SDK重建了所有庫。 – Dhaval 2010-07-29 15:54:59

0

很多圖書館在移動到iOS 4和SDK 3.2.3被打碎一個版本的lib。如果您可以使用SDK 4構建庫並將其重新加載到胖庫中,那麼您可能會回到正軌。

確保將您的部署目標設置爲3.x或您計劃發佈應用程序的任何內容。