2009-06-22 34 views
0

當構建在Xcode(3.1.2)的一個項目,2個文件夾被自動添加作爲頭目錄用「-I」選項:-Wmissing-包括-迪爾斯&自動包含標題目錄

/ (ProjPath)/(ProjName)/build/(BuildConfigName)/include 
/(ProjPath)/(ProjName)/build/(ProjName).build/(BuildConfigName)/(ProjName).build/DerivedSources 

我當試圖將-Wmissing-include-dirs添加到我的項目中的警告列表時意識到了這一點。 兩個文件夾都發出警告。這發生在Cocoa應用程序和C++動態庫上。我還沒有嘗試任何其他項目類型,但我想這種行爲適用於任何項目類型。

  1. Xcode如何使用這些文件夾?
  2. 它們可以被避免,或者當構建開始時由Xcode自動創建?
  3. 如果不是,如何在Xcode上成功使用-Wmissing-include-dirs

謝謝。

+1

這些目錄用於派生源創建頭文件或部分構建生成頭文件時(如構建一個動態庫,該庫是一個單獨的目標,其包含文件隨後被項目中的另一個目標,這些情況不常使用,並且在像Xcode這樣的環境中,-Wmissing-include-dirs警告是幾乎毫無意義。我建議你刪除該警告,不要試圖改變你的項目模板,除非你知道你在做什麼,爲什麼:)你也可以通過向你的目標添加一個運行腳本構建階段來自動創建它們。 – 2009-06-22 17:23:02

+0

我的目標是啓用警告如果它可以有用。你能解釋爲什麼它在Xcode中幾乎毫無意義嗎? – Guillaume 2009-06-23 08:02:52

回答

1

您可以將腳本添加到您的目標這對於你創建的目錄:

右鍵單擊目標,選擇添加 - >新建構建階段 - >新運行腳本生成階段。 在「編譯源」階段之前,將此構建階段拖到目標頂部。

然後進入這樣一個腳本(通過雙擊相):

mkdir -p "${TARGET_BUILD_DIR}/include" 
mkdir -p "${PROJECT_DERIVED_FILE_DIR}" 

你可以看到在構建成績單(各種環境變量命令Shift-B鍵,點擊小文本圖標, )