我正在處理一個非常古老的大型VC6 ++項目,這一切都搞砸了。在任何地方都有未使用的文件和文件夾,文件夾的副本,只是在當前狀態下手動清理它們而已。清理一個VC++ 6項目
它會最終完成,但有沒有簡單的方法來檢查乾淨的編譯時使用什麼文件和文件夾?
項目設置並不能幫助我,因爲它只是使用文件夾和其他包含目錄的副本。
有什麼建議嗎?
我正在處理一個非常古老的大型VC6 ++項目,這一切都搞砸了。在任何地方都有未使用的文件和文件夾,文件夾的副本,只是在當前狀態下手動清理它們而已。清理一個VC++ 6項目
它會最終完成,但有沒有簡單的方法來檢查乾淨的編譯時使用什麼文件和文件夾?
項目設置並不能幫助我,因爲它只是使用文件夾和其他包含目錄的副本。
有什麼建議嗎?
VC6會產生一個makefile你:
你可以使用生成的生成文件(和關聯的.dep
文件)作爲起點並將其編輯到構建中使用的文件列表。
除了構建日誌中可能顯示的.c
/.lib
文件之外,您還可以看到項目所依賴的頭文件。有一點要記住,你可能也想確保你跟蹤.dsw
和.dsp
工作區和項目文件。
如果你有點冒險,你可以說服makefile實際上將源文件複製到其他位置,並使用適當的覆蓋特定的宏和/或依賴關係。但是這可能比一次性努力的價值更麻煩。
最後,有一個商業產品,CopyWiz by Kinook Software,似乎有可能做你想要的功能(並且它支持VC++ 6)。注意:我不確定它是否會按照您的要求做,但可能值得一看。
我寫了一個解析makefile的小工具,它是一個非常棒的解決方案。非常感謝你! – John
是的。從SysInternals運行進程監視器。它可以捕獲所有文件系統事件並根據路徑和其他因素對其進行過濾。
因此,將過濾器設置爲源樹的根目錄,只有成功讀取文件(VC會在很多地方查找標頭)並構建項目。您可能仍會看到數千個事件。因此,將它們保存到文件,排序路徑,並刪除重複的路徑(頭特別是將有許多重複的條目)
在linux下,我只是建立一些東西,並檢查最後訪問的文件的時間戳,不知道Windows是否有類似的東西。 – PlasmaHH
Visual C++ 6? (/我檢查當前日期)...在2011年... ...對於您的問題,請刪除除DSW和DSP文件以外的所有內容,然後嘗試編譯。對於每個錯誤,請將編譯器所需的ONE文件放回原處,然後重試。最後,你將只有該項目所需的東西... – paercebal
這個問題是非常類似於http:// stackoverflow。com/questions/1301850/tools-to-find-included-headers-which-are-unused – dip