2011-07-23 70 views
1

我有一個與Visual Studio 2010和我的C++項目的常見問題。前些時候Visual Studio開始在每個「F5」命中時顯示「項目已過時」,無論我是否改變了某些內容。我搜索谷歌,發現很多原因,其中包括this stackoverflow問題,其中包含有關如何啓用系統日誌記錄的說明。我已經啓用了系統日誌,而我看到這裏使我成爲震懾:VS2010總是認爲項目已過時,系統日誌顯示奇怪的事

[2104] Project 'projectname.win32.vcxproj' not up to date 
because 'filename.h' was modified at 07/21/2011 09:02:54, 
which is newer than '' which was modified at 01/01/0001 00:00:00. 

任何想法,這是''被修改01.01.01?

+0

如果您從項目中刪除了'filename.h'然後重新添加它,它還會發生嗎? (也許在重新添加之前執行構建,即使構建將被破壞)。 –

+0

我已經從項目中移除它(這不會影響編譯,因爲它是一個頭文件)。更怪異的東西 - 系統日誌消息是相同的!我已經搜索了文件系統中提到的文件名,只有它提到的地方是另一個.h文件,它包含在我的項目中。它沒有在.vcxproj文件中提到。但仍然Visual Studio發現它:(。 – grigoryvp

+0

我想知道是否有什麼奇怪的文件是有效的C++,但可能會混淆解析器VS用來找出依賴關係。你可能會嘗試從文件中剝離出來,直到問題消失 - 當然這是假定問題是由文件的內容引起的,可能並非如此。 –

回答

1

filename.h確實存在嗎?解決方案資源管理器中列出了filename.h?當一個標題已從磁盤中刪除但未從項目中刪除時,項目引擎將始終嘗試重建。

+0

當然,它存在,因爲它有一個修改時間:)。但可以肯定的是,我只是複製文件名,將其粘貼到資源管理器窗口中,併成功打開。 – grigoryvp

+0

@Eye我在想,記錄的時間可能是項目引擎在上次看到文件時緩存的時間。 –

+0

@Eye - 記錄完整路徑還是名稱?如果只是名稱,它是否移動到不同的目錄? –

2

備案:問題是由intermediate directory設置爲$(TEMP)\$(ProjectName)_int\$(Configuration)\造成的。將其更改爲相對的..\out\$(ProjectName)_int\$(Configuration)\完全解決了該問題。看起來像許多視覺工作室錯誤O_O之一。

+0

這個錯誤「只」用於x64平臺目標,而不是用於Win32平臺。 – JPaget

相關問題