如何加快XCode編譯速度? 前進的火車 新浪部落格

2021-10-10 12:04:18 字數 1800 閱讀 4935

xcode預設使用與cpu核數相同的執行緒來進行編譯,但由於編譯過程中的io操作往往比cpu運算要多,因此適當的提公升執行緒數可以在一定程度上加快編譯速度。

在工程對應targetbuild settings中,找到debug information format這一項,將debug時的dwarf with dsym file改為dwarf

如圖:

這一項設定的是是否將除錯資訊加入到可執行檔案中,改為dwarf後,如果程式崩潰,將無法輸出崩潰位置對應的函式堆疊,但由於debug模式下可以在xcode中檢視除錯資訊,所以改為dwarf影響並不大。這一項更改完之後,可以大幅提公升編譯速度。

比如在目前本人負責的專案中,由於依賴了多個target,所以需要在每個targetdebug information format設定為dwarf順便提一下,如果通過cocoapod引入第三方則debug information format預設就是設定為dwarf的。

注意:將debug information format改為dwarf之後,會導致在debug視窗無法檢視相關類型別的成員變數的值。當需要檢視這些值時,可以將debug information format改回dwarf with dsym fileclean(必須)之後重新編譯即可。

在工程對應targetbuild settings中,找到build active architecture only這一項,將debug時的no改為yes

這一項設定的是是否僅編譯當前架構的版本,如果為no,會編譯所有架構的版本。需要注意的是,此選項在release模式下必須為no`,否則發布的ipa在部分裝置上將不能執行。這一項更改完之後,可以顯著提高編譯速度。

不要再專案中或者靜態庫中使用-o4,因為這會讓clang鏈結link time optimizations (lto)使得編譯更慢,通常使用-o3

注意:在設定編譯優化之後,xcode斷點和除錯資訊會不正常,所以一般靜態庫或者其他target這樣設定。

to speed up the xcode compile and link speed (200%+)

加快XCode的編譯鏈結速度(並加以修改)

from 向各位xcode初級使用者特別推薦此文!1.提高xcode編譯時使用的執行緒數 開啟mac終端,然後執行如下命令 8 所以使用這個。xcode預設使用與cpu核數相同的執行緒來進行編譯,但由於編譯過程中的io操作往往比cpu運算要多,因此適當的提公升執行緒數可以在一定程度上加快編譯速度。本...

加快XCode的編譯鏈結速度(並加以修改)

from 向各位xcode初級使用者特別推薦此文!1.提高xcode編譯時使用的執行緒數 開啟mac終端,然後執行如下命令 8 所以使用這個。xcode預設使用與cpu核數相同的執行緒來進行編譯,但由於編譯過程中的io操作往往比cpu運算要多,因此適當的提公升執行緒數可以在一定程度上加快編譯速度。本...

分布式編譯以及如何加快編譯速度

眾所周知,c 專案的編譯時間一般都很就,稍微大一點的專案完全編譯可能就需要幾十分鐘,有的可能需要好幾個小時甚至更久。這對於現在的開發人員來說是非常難以忍受的一件事情!所以就有人開發了一種叫做分布式編譯的東西,這個東西的思想其實很簡單,就是把乙個專案中的沒有依賴關係的工程分給不同的機器進行同時編譯,編...