使用scons的我可以很容易地把我包括路徑:如何設置scons的系統包括路徑
env.Append(CPPPATH=['foo'])
這傳遞標誌
-Ifoo
與gcc
但是我正在努力編譯時會啓用很多警告。 特別是與
env.Append(CPPFLAGS=['-Werror', '-Wall', '-Wextra'])
這可怕的死亡在一定提振包括...我可以通過添加升壓解決這個問題包括對系統的include路徑,而不是GCC對待包括道路系統包括不同。
所以我需要什麼,以獲得通過,以海灣合作委員會,而不是-Ifoo是
-isystem foo
我想我可以與CPPFLAGS變量做到這一點,但不知道是否有內置scons的一個更好的解決方案。
感謝您對我期望的內容的確認(但希望是錯誤的) – 2010-03-14 05:44:45
很好的答案,但實際上,我認爲這些內容都包含在依賴鏈中是一件好事,因爲它們會減慢整個構建過程的no真正的收益。有很多Boost頭文件,而且這些頭文件不會改變(當他們這樣做時,你知道它並可以決定清除所有內容)。 – ereOn 2012-10-25 08:25:48
確實,排除「只讀」標題是加速構建的好方法。一個好的做法是確保庫版本是其目錄路徑的一部分(即./foo/bar/boost/1.38/include)。這樣,編譯命令行上就會顯示boost版本號。由於SCons在其簽名中包含命令行,因此任何升級升級都將落入不同的目錄,從而使任何現有的構建產品無效。這使得構建緩存更加健壯,特別是對於大型團隊。 – BenG 2012-10-25 13:44:26