之前做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...