我正在使用Visual Studio 2008.VC++項目從未更新
我有兩個項目的解決方案。一個生成一個DLL,這是我的「生產代碼」。另一個構建一個控制檯應用程序exe,這是我的單元測試套件。
對於我的單元測試項目,我已經列出了鏈接器輸入來自DLL的源模塊的名稱。也就是說,我在DLL項目中有一個DLLMain.cpp,在exe項目中有一個鏈接器輸入「DLLMain」。這使得exe可以鏈接DLL項目生成的obj文件,從而防止僅爲單元測試重新編譯這些模塊。 (節省大量的編譯時間。)
問題是因爲exe比obj的產生時間晚,並且由不同的項目產生,所以它的時間戳總是比obj的更新。所以當你嘗試運行或調試時,它總是說exe文件已經過時,需要重新編譯。
有沒有什麼辦法可以配置exe項目來忽略時間戳?或者有沒有其他的,也許更一般的解決方案,我沒有看到這裏?
「問題在於,因爲exe的生成時間晚於obj,而且由不同的項目生成,所以它的時間戳始終是始終不變的比ob更新j's ...「 - 我認爲結論並不完全正確,如果構建正確,objs文件將永遠比.exe/.dll更早; objs比exe更新會表示需要重新鏈接;就像源文件比objs更新會表明需要重新編譯一樣。 – Ruddy 2010-01-23 00:51:45