2014-02-06 38 views

回答

0

第三方靜態庫不應該鏈接其他第三方靜態庫本身。最終的應用程序鏈接步驟將所有庫鏈接在一起。如果cocoapod規範要求一個靜態庫包含另一個靜態庫,那麼它是不正確的,需要修復。

如需更多關於這個,看到這個問題,以及這些問題它鏈接:

ObjC: How to compile static library that includes optional classes that depend on a third party library

+0

謝謝,我還在編譯libpng,我只是添加了頭文件以避免重複的符號。 –

0

libpng一起-1.6.0開始,您可以配置的libpng(使用 「配置」時,腳本)的前綴通過 配置選項的裝置的所有輸出的符號「--with-的libpng前綴= FOO_」,其中FOO_可以是任何 串以字母開頭和僅包含大寫 和小寫字母,數字和下劃線(即C語言 標識符)。這會在pnglibconf.h中創建一組宏,因此這對應用程序來說是透明的;它們的函數調用被宏變換爲 以使用修改後的名稱。

從本質上講,它會在爲您自己的libpng構建 時重命名每個導出的符號。

我還沒有親自測試過這個功能。