2011-07-23 6 views
1

Visual Studio 2010と私のC++プロジェクトによくある問題があります。いくつかの時間前に、Visual Studioは、何かを変更したかどうかに関係なく、「F5」のヒットごとに「プロジェクトは古くなっています」と表示し始めました。私はGoogleを検索し、this stackoverflowの質問など、システムロギングを有効にする方法を含む多くの理由が見つかりました。私は、システムロギングを有効にしている、と私はここを参照してくださいには、衝撃と畏怖に私を置く:01.01.01を変更されたこの''であること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. 

任意のアイデア?

+0

'filename.h'をプロジェクトから削除してから、それを再度追加してもそれは起こりますか? (ビルドが壊れても、ビルドを再追加する前にビルドを実行することもあります)。 –

+0

私はプロジェクトから削除しました(ヘッダーファイルなので、コンパイルには影響ありません)。そしてもっと奇妙なこと - システムログメッセージは同じです!私は上記のファイル名のためのファイルシステムを検索し、それが含まれている私のプロジェクトで別の.hファイルが記載されている場所のみ。これは.vcxprojファイルには記述されていません。それでもVisual Studioはそれを見つけます:(。 – grigoryvp

+0

有効なC++のファイルに奇妙なものがあるが、パーサーVSが依存関係を把握するのに混乱するかもしれないと思っています。もちろん、問題はファイルの内容によるものであると仮定していますが、そうでないかもしれません。 –

答えて

1

filename.hは実際に存在しますか? Solution Explorerにfilename.hが表示されていますか?ヘッダーがディスクから削除されたがプロジェクトから削除されていない場合、プロジェクトエンジンは常に再構築を試みます。

+0

もちろん、修正時間があるので存在します:)。しかし、確かに、私はちょうどファイル名をコピーし、それがエクスプローラウィンドウに貼り付けられて正常に開きます。 – grigoryvp

+0

@Eyeログに記録された時間は、プロジェクトエンジンがファイルを最後に見たときにキャッシュされた時間である可能性があると私は考えていました。 –

+0

@Eye - フルパスまたは名前だけをログに記録しますか?名前だけの場合は、別のディレクトリに移動しましたか? –

2

intermediate directory$(TEMP)\$(ProjectName)_int\$(Configuration)\に設定されているために問題が発生しました。相対値に変更する..\out\$(ProjectName)_int\$(Configuration)\問題を完全に解決します。多くのビジュアルスタジオバグO_Oの1つのようです。

+0

このバグは、x64プラットフォームのターゲットでは「ビット」と表示されますが、Win32プラットフォームでは表示されません。 – JPaget

関連する問題