2011-12-26 97 views
0

我想分發包含靜態庫(谷歌adMob)的靜態庫。靜態庫內的iPhone目標C靜態庫

在我使用靜態庫的測試應用程序中,當試圖訪問靜態庫內的靜態庫時,它崩潰。

有關如何分發包含靜態庫的靜態庫的任何想法?

10X 塔米爾

+0

你必須單獨鏈接你的項目需要的所有靜態庫。靜態庫不能包含任何其他庫;爲此你需要一個動態庫。 – sergio 2011-12-26 16:01:59

回答

1

沒有所謂的「靜態庫中靜態庫」沒有這樣的事。靜態庫只是一個對象文件的容器。他們都是平等的。

你有兩個選擇:

  1. 發佈自己的庫和第三方庫作爲兩個單獨的文件。最後的項目需要包含兩個庫。

  2. 合併兩個庫,即創建一個包含所有目標文件和第三方庫的目標文件的庫。查看arlibtoolranlib等等的手冊頁以獲取更多信息。

選項1似乎更容易。如果靜態庫對動態鏈接庫(例如iOS框架或libiconv)具有附加依賴關係,則必須提供有關如何添加這些依賴關係的說明。我不太清楚您的測試應用程序何時崩潰以及您的測試應用程序如何崩潰,您必須提供更多信息,例如完整的錯誤消息和堆棧跟蹤。通常,我希望應用程序不會因爲它找不到所有的依賴關係。)