Plik wykonywalny nie jest odbudowywany, ale pliki obiektów są ponownie kompilowane

Budowanie podstawowego projektu C ++ za pomocą Visual Studio 2012. Kiedy wprowadzam zmiany w plikach źródłowych:

odpowiednie pliki obiektów są kompilowanepliki .tlog kompilatora są aktualizowaneplik PDB jest aktualizowanyPliki .tlog dla linkera nie są jednak zmienianelinker twierdziAll outputs are up-to-date. i nie tworzy nowego pliku wykonywalnego.

Jedynym sposobem na wykonanie pliku wykonywalnego jest jego usunięcie. Wydaje się, że coś z systemem śledzenia jest błędne i zastanawiałem się, czy ktoś może rzucić trochę światła na ten problem.

Oto wyjście msbuild po zmianie dwóch plików, pełnych ścieżek i innych pominiętych rzeczy (dane wyjściowe dotyczą zestawu narzędzi VS2010, ale 2012 zachowuje się tak samo):

 1>Target "ClCompile" in file "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.targets"...
  Using "CL" task from assembly "Microsoft.Build.CppTasks.Win32, Version=4.0.0.0...
  Task "CL"
    Read Tracking Logs:
     cl.read.1.tlog
     CL.2520.read.1.tlog
     ...
    Outputs for ....
     XXX.OBJ
     YYY.OBJ
     ...
    xxx.cpp will be compiled as xxx.cpp was modified...
    yyy.cpp will be compiled as yyy.cpp was modified...
    Write Tracking Logs:
     cl.write.1.tlog
     CL.2520.write.1.tlog
     ...
    C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\CL.exe ....
    Tracking command:
    C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\Tracker.exe ....
    xxx.cpp
    yyy.cpp
  Done executing task "CL".
1>Done building target "ClCompile" in project "xxx.vcxproj".

jak na razie dobrze. Teraz zaczyna się linker (cóż, nie robi tego):

1>Target "Link" in file "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.targets"....
  Using "Link" task from assembly "Microsoft.Build.CppTasks.Win32, Version=4.0.0.0...
  Task "Link"
    Using cached output dependency table built from:
    link.write.1.tlog
    Using cached input dependency table built from:
     ink.read.1.tlog
    Outputs for ....
     MY.EXE
     MY.PDB
    All outputs are up-to-date.
  Done executing task "Link".
  Task "Message"
    xxx.vcxproj -> my.exe
  Done executing task "Message".
1>Done building target "Link" in project "xxx.vcxproj".

questionAnswers(1)

yourAnswerToTheQuestion