I have a large C ++ project for Visual Studio 2010 v10.0.40219.1 SP1Rel, which I started to encounter an error with one of our regression tests. When I checked the error on the dev machine, I could not make it happen, so I copied exes from the test machine to the dev machine and an error appeared. Then I deleted the source tree, including projects from the test machine, copied them from the dev machine, cleaned and rebuilt them on the test machine, and the error was still there. Thus, executable files created from the same project and configuration on my developer's computer, built with the same compiler version and installed fixes, are different from those created on the test PC. The only difference is that the dev computer is running Windows 7 64, and XP is running on the test PC.I also verified that all related LIBs and DLLs are the same on both build platforms.
If the same executables produced different results on different PCs, I would suggest that it was a platform-specific error in my code, but the same executables behave sequentially on different computers, only those compiled on XP behave differently compiled on W7 64.
Any ideas why this should be?
Edit Restore the code in the debug configuration on the test computer, and the error disappears. Currently copying the source trees and tools to empty XP and W7 computers to see if the problem goes to the build platform or refers to one of the currently used PCs.
Edit2 : XP, Windows7 . Exe XP. XP, . Win 7 build XP Win 7, XP XP Win 7. , , , , , , .
Edit3 , , , - ;
template<class TYPE>class MyTemplateClass
{
public:
assign(TYPE &x) { x = t; }
TYPE t;
}
4, , .