xcode編譯配置

2021-08-15 19:25:33 字數 1007 閱讀 7479

之前做cocos2dx的時候一直不明白srcroot和project_dir是什麼具體含義,以為是2dx構建的,最近才查了一些資料。

1.$(srcroot)巨集和$(project_dir)巨集:

都指***.xcodeproj所在的父目錄。

2.search paths裡有引號和沒有引號的區別:

雙引號的作用是如果在路徑中有空格,可以識別該路徑。沒有雙引號但是路徑中有空格,我們發現它會自動變成兩個路徑。

3.$(inherited):

target在設定自己路徑的時候如果加了這個,那麼就是繼承project裡設定的路徑。如果不需要繼承就不加,要不然亂加有可能整混導致路徑錯誤。

4.recursive和non-recursive:

recursive:遍歷該目錄

non-recursive:預設路徑設定;不遍歷該目錄。

如果路徑的屬性為recursive,那麼編譯的時候在找庫的路徑的時候,會遍歷該目錄下的所有子目錄的庫檔案。

ps:在搭建專案的時候,可以建立乙個專門放庫檔案的資料夾並且設定其屬性為recursive。$(project_dir)/**相當於遍歷專案檔案同級下的所有路徑(不推薦使用,專案大的話,影響編譯的速度)。

5.header search paths和user header search paths的區別:

編碼時候通過 #include 引入標頭檔案的方式有兩種 <> 和 ""。<> 是只從 header search paths 中搜尋, 而 "" 則能從  header search paths 和  user header search paths 中搜尋。換言之 ,假如你把 路徑加到  user header search paths 中,那麼 你用 #include 的方式去引入對應的標頭檔案,就會報錯。 如果加到  header search paths,  就沒有問題了。

xcode編譯 優化策略

檢視編譯時間 關閉xcode 終端輸入 開啟xcode cmd b 1.在objective c的專案中,class通常放在.h檔案中,主要作用在於提公升編譯效能,且能防止標頭檔案的遞迴import.編譯效能的考慮 通常,使用 import引入乙個類的標頭檔案,編譯時會將該類的標頭檔案中的所有資訊都...

Xcode 常見編譯問題

1 引用 include 報錯 3 公升級到xcode9.3之後,大括號裡宣告的屬性,在block裡面就會出現block implicitly retains self explicitly mention self to indicate this 的警告,大量這樣宣告的屬性,產生了大量的黃色警告...

Xcode新增靜態庫以及編譯選項配置常見問題

一,xcode編譯出現link錯誤,出現 duplicate symbols for architecture i386 clang 提示.問題 鏈結時,專案有重名檔案.解決 根據錯誤提示,做如下檢查 1.taraget build settings link binary with librari...