簡體   English   中英

最小構建依賴樹

[英]minimal build dependency tree

我目前正在使用一個IDE,該IDE可以為多個平台(win32,Windows Mobile,Symbian等)構建c ++項目。 該IDE不保留構建依賴關系列表,而每次僅重建整個項目。 這浪費了很多時間,這使我們考慮實施更智能的構建過程:僅當修改日期已更新或包含(遞歸)標頭的cpp文件被重新編譯時,cpp文件才會被重新編譯。

我找到了一個名為cinclude2dot.pl的perl腳本,該腳本的輸出包括項目目錄中的依賴項。 graphviz可以使用此輸出來創建依賴關系樹。 問題是:(a)此腳本不可靠(它不解析“ / *”注釋),並且(b)在單個目錄上運行,並且標頭和源位於多個目錄中。

我的問題:1.是否有類似的腳本/批處理/程序可以更有效地輸出標頭依賴項? 2.除了修改日期,還包括在編碼“更智能”的構建過程時應考慮的依賴項?

其他見解也會很棒! 謝謝!

如果您的IDE使用GCC構建項目,則可以使用GCC的內置依賴項生成。 它輸出適合包含在標准makefile中的規則。

通過在GCC命令行上傳遞-M系列標志來激活這些標志。 請參閱GCC手冊中文檔

但是,也許值得考慮切換到可以為您做這種事情的更好的IDE(如果可能的話),而不是花時間嘗試將功能移植到功能不足的IDE上。

GCC可以做到這一點使用-MM選項,然后就可以使用這些依賴於一個makefile,如解釋在這里 即使您不想使用gcc編譯實際項目,也可以使用它來計算依賴關系樹。

我還注意到cl.exe中的/ showIncludes選項(我正在將VS2008用於Win32和Win Mobile調試版本)。“問題”是cl.exe編譯了我的.cpp,我只希望它顯示#include語句。 。 是否有任何導致cl.exe不編譯代碼,而僅顯示包含列表的標志?

感謝您的幫助!

我找到了一個名為“ fastdep”的開源程序。 它的文檔記錄不多,但是玩了幾個小時之后,我終於得到了我需要的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM