2012-11-09 73 views
1

我的項目使用我的個人圖書館。在「標題搜索路徑」中,我包含了「../WJLibrary/**」。這是我的圖書館正確的相對路徑。但是根據構建日誌,它不會執行遞歸搜索。因此,它沒有找到我需要的各種文件。爲什麼Xcode決定不搜索標題遞歸,儘管構建設置說它應該

如果我開始逐個添加相關的子目錄,它會開始在這些特定的子目錄中查找文件。但那不是管理項目的方法。

對於它的價值,我有一個存檔的舊版本的項目,並在該版本中,一切工作正常。我正在改變庫中的一些設置。其中一項變化肯定會破壞一些東西。但是對於我的生活,我無法弄清楚可能會造成什麼。

這可能是什麼原因造成的?

編輯:不管是什麼問題,它不是存儲庫中的東西,因爲更新到舊版本並沒有幫助。

+0

如果您將相關的頭文件目錄添加到您的項目中,那麼Xcode會自動添加所有必需的包含指令,您不需要擔心這樣的細節。 –

回答

1

答案似乎是包含..的遞歸搜索路徑未被展開。我所做的修復它是創建一個符號鏈接:

ln -s ../WJLibrary WJLibrary 

然後我把這個遞歸搜索路徑:

WJLibrary/** 

在這一點上,一切正常。

+0

這不再是這種情況,至少在Xcode 5.0.2中。 「$ {PROJECT_DIR} /../ Foo/Bar」的遞歸搜索路徑正常工作。 –

1

如果您在構建日誌中沒有看到選項,那意味着您編輯的任何設置都不會傳播到最終的「已解決」值。 Xcode爲其構建設置使用級聯級別系統。它由以下層次:

iOS的默認設置 - >項目設置 - >目標設置 - >最終解析設置

(且不說.xcconfig文件,但我猜你沒有那些)

如果您在項目級別設置路徑,那麼可能會有覆蓋它的目標級路徑。在Xcode的「Build Settings」窗口中,確保你選擇了「Levels」標籤,這樣你可以看到每個級別的所有設置,最左邊的是最終的Resolved值。

然後是每個配置設置,您可以在其中爲Debug vs Release版本設置不同的值。確保你正在爲正在運行的配置設置它。

+0

不錯,但這不是問題。 –