靜態庫編譯心得

2021-09-02 09:06:42 字數 579 閱讀 7335

我們編譯靜態庫時一般會生成模擬器,真機兩個包的.a檔案

這二個庫乙個是用於真機執行的乙個是用於模擬器執行的.其實我們可以利用lipo將這二個檔案打包成乙個通用的a檔案

將/users/user/library/developer/xcode/deriveddata/uitab-dgfkluumuexoxhcapzidtsmdgqcj/build/products替換成你的路徑。

將/users/user/desktop/libprint.a替換成合併後的路徑。

lipo -create /模擬器.a的路徑/libprint.a /真機.a的路徑/libprint.a -output /users/pjk1129/desktop/libprint.a

這樣的好處就是在開發過程中無論還是真機都能比較方便的進行測試,但是明顯包的大小就會比較大,所以在發布的時候還是要使用真機的庫

1. 如果靜態庫中使用了category,那麼在使用這個靜態度的工程中,在build settings中other linker flags加入-all_load, 不然向category發訊息的時候會crash, 說無效的selector send to object.

編譯靜態庫編譯動態庫

編譯靜態庫 cr標誌告訴ar將object檔案封裝 archive 我們可以使用nm s 命令來檢視.a檔案的內容 ar cr libmyhello.a hello.o 或 cvr 編譯動態庫 gcc c fpic test1.c gcc c fpic test2.c fpic告訴gcc將源 編譯成...

Qt編譯生成靜態庫(靜態編譯)

開發環境 vs2008 qt4.8.4原始碼庫 其他環境請自己嘗試,原理應該是差不多的 qt編譯生成靜態庫1.本教程只針對在win32平台,使用vs開發工具 例子以vs2008為例 2.3.解壓qt源 到目標目錄,如 4.開啟 mkspecs 目錄,找到目標平台的資料夾,如 win32 msvc20...

靜態庫 a編譯和靜態庫 a合併

第一步 生成test.o目標檔案,使用gcc c test.c o test.o命令。第二步 使用ar將test.o打包成libtest.a靜態庫,使用ar rcs o libtest.a test.o命令 第三步 生成libtest.a靜態庫後,可以使用命令ar t libtest.a檢視libt...