2011-11-21 157 views
0

我必須創建一個包含其他靜態庫的iOS靜態庫。所以我創建一個新的靜態庫項目惠特XCode 4,然後我包括和使用第三部分靜態庫。iOS靜態庫轉化爲靜態庫符號未定義

當我嘗試測試我的靜態庫有「符號未找到」三門部分靜態庫的所有方法...

所以要更具體的我寫的是使用靜態libB靜態libA.a .a並且在新的測試項目中,我僅包含libA.a和缺少符號的libB.a的所有方法。即使我也包含libB.a在測試項目中有缺少符號...

有一種方法來創建一個靜態庫,是另一個靜態庫的包裝?

有人能告訴我所有的編譯設置,我在Xcode做?

謝謝。

+0

是什麼阻止您將應用程序與所有需要的靜態庫鏈接? – Till

+0

請您詳細說明「缺少simbol的libB.a的所有方法」嗎?你什麼意思? – trojanfoe

+0

好的,在我的庫的測試項目中,buil失敗,出現以下錯誤:未定義的架構armv7符號...並按照3td部件庫的所有方法列表... –

回答

0

您不需要包含第三方靜態庫的.a。但是,如果您打算在自己的靜態庫中引用它們,則需要包含第三方靜態庫的頭文件。

+0

你將不得不鏈接兩個庫,雖然和它是在鏈接期間,你得到「符號未找到」的錯誤。 – trojanfoe

+0

在我的靜態庫項目中,我包含了所有需要的頭文件,並且它的構建正常。通過在測試項目中,我只使用libA.a頭文件...對嗎?測試項目僅使用libA.a和libA.a使用libB.a –

+0

如果在測試項目中不使用libB.a中的任何內容,則只需包含libA.a的頭文件。但是,當您編譯最終項目時,請確保包含libB.a以及libA.a,否則您將收到鏈接器錯誤。 – futureelite7