I'm trying to use Profile Guided Optimization (PGO) with VS8. After instrumenting the DLL in question I copy it over to a machine that has our application installed and run the training scenario. I then copy the pgc training files back to my dev box and get the following error:
1>StdAfx.obj : fatal error LNK1270: invalid file; timestamp does not match file linked with /LTCG:PGINSTRUMENT
The MSDN entry for this error says:
invalid file; timestamp does not match file linked with /LTCG:PGINSTRUMENT The same files passed to the linker when specifying /LTCG:PGINSTRUMENT must also be passed when specifying /LTCG:PGOPTIMIZE.
/LTCG:PGOPTIMIZE requires that the inputs be identical to the /LTCG:PGINSTRUMENT phase.
To resolve this warning, run /LTCG:PGINSTRUMENT, redo all test runs, and run /LTCG:PGOPTIMIZE, or, create the optimized image with /LTCG:PGUPDATE instead of /LTCG:PGOPTIMIZE.
Rerunning the tests doesn't solve the problem (although it sometimes appears for other files, not stdafx.obj).
Using /LTCG:PGUPDATE
does work however I would like to understand what is causing the error, or failing that are there any drawbacks to using PGUPDATE
rather than PGOPTIMIZE
(I can't find anything relevant in the MSDN PGO page).