4
我有一個很大的iOS項目,它由幾個(大約20-30個)靜態庫組成,它們鏈接在一起形成最終的可執行文件。有些組件是平臺無關的(純C++),有些是iOS特有的(Obj-C/Obj-C++)。 C++模板被大量使用,因此每個目標文件都包含很多符號模糊的鏈接。問題是這些符號僅在最終可執行文件鏈接期間合併,而不是在製作靜態庫時合併。每個庫包含大量重複的符號(6-60克隆)。所以應用程序的最終鏈接需要幾分鐘的時間。這在調試和做一些小改動時變得非常煩人。用於ios項目的預鏈接靜態庫
有沒有辦法對每個庫進行模糊鏈接的符號合併?
我知道,這是在使用動態庫時自動完成的。通過一些黑客攻擊(http://sumgroup.wikispaces.com/iPhone_Dynamic_Library),可以爲iOS構建動態庫。有沒有辦法鏈接dylib的靜態(鏈接到一個單一的可執行文件)?
當然,能夠調試生成的應用程序是必須的。
https://stackoverflow.com/questions/3276474/symbol-hiding-in-static-libraries-built-with-xcode-gcc – godspeed1024