2012-01-07 33 views
0

我從我想在自己的應用程序中使用的第三方(LibXL)獲得了一個庫。我收到了一個已經編譯好的dylib文件和頭文件。在MacOS上縮小已編譯的dylib的大小

問題是這個庫是37MB大!這是一個包含PPC(32位)和Intel(32位+ 64位)代碼的胖庫。我通過使用lipo去除PPC部分,從而將文件大小減小到25MB,但這仍然很大!我的應用程序只有5MB左右的大小,並且包含一個只有我的應用程序的一小部分所需的25MB庫似乎很荒謬。

有沒有人有一個想法如何減少編譯庫的大小?是否有可能以某種方式靜態鏈接一個dylib文件,以便我可以去掉未使用的符號?

是由於調試符號或類似dylib內的大文件的大小?有沒有不必要的東西可以在dylibs裏面剝離?

回答

1
+0

這削減了約1MB的關閉。所謂'strip:無法被剝離的重定位條目所引用的符號'(+長符號列表)仍然留下24MB :( – 2012-01-07 18:20:35

+0

)如果您可以從原始開發者那裏獲得源代碼和Xcode項目,那麼可以縮小它更多,但只有一個二進制文件,你可能不會變小,而且靜態鏈接的配置可能會大大減小,因爲你會死去。 – StilesCrisis 2012-01-07 21:53:07

+0

我問公司,他們非常有幫助,爲我提供了一個靜態庫,所以解決了這個特定庫的問題。但是,我仍然有一些其他來源的dylib,我也想製作更小的... – 2012-01-07 22:12:44