有沒有辦法限制Boost.Build遞歸掃描#include指令到特定目錄或目錄集的頭文件?即我希望它遞歸掃描我的項目中的頭文件。我知道他們的外部依賴不會改變(並且Boost和Qt他們相當大)。我最終在依賴樹中有大約50,000個目標,需要一段時間才能處理(即使沒有文件實際發生更改,也會產生1-2分鐘的編譯時間)。有沒有辦法阻止Boost.Build遞歸掃描#include指令的頭文件?
到目前爲止,我發現的唯一解決方案是利用INCLUDE環境變量(我使用MSVC) - 這意味着Boost.Build不需要被通知包含路徑(我正在使用該功能),因此不會掃描它們。這似乎有點破解。
我覺得我必須缺少明顯的東西,因爲我一直沒能找到其他人遇到類似的問題,即使我幾乎立刻就遇到了這個。我來的最近的是here。
從調試輸出(bjam -d 3)判斷它也會不止一次地掃描大部分頭文件......我不知道這是否意味着它們不止一次作爲依賴項被添加,但肯定是加載文件和掃描整個內容的成本必須加起來?
如果我可以告訴它不要打擾掃描一個特定的目錄或一組目錄,我可以保證頭文件不會改變,那將是完美的。
感謝您的回答!是的,還有很多其他的構建系統可以選擇,但是我的問題不是使用哪種構建系統,但是我對Boost.Build的理解錯過了什麼。 – 2009-04-27 05:16:50