@martin, since no one else has mentioned it: I've had good results compiling PuTTY "beta" and snapshot source with both MSVC++ 2015 Community Edition and the RC of MSVC++ 2017.
There's some minor breakage when compiling against a snapshot: the included VS2012 solution imports fine, but someone forgot that a couple files needed during the resource compile pass aren't in the same directory as the solution, and weren't included in any search path that matches the location of the .RC2s. This can be fixed with a symlink. There is
what appears to be a test project or perhaps an unfinished project under the solution that does not build at all, and I haven't tried to make it work. I simply removed it from the solution. The main executable and all the other projects (plink, Pageant, etc.) are tested and working.
The git repo doesn't include the solution files, the InnoSetup installer source, or any other "support" files, which I find bizarre.
I haven't even attempted to compile to x86, since the PuTTY team already provides those snapshot builds. All of my x64-targeted builds have seemed to work perfectly, both out of the box and with extensive modifications to the projects to enable optimization flags. This is also under both the 2015 and the 2017 RC Community Edition environments.
I've been using my own snapshot builds, consisting of about fifteen distinct source snapshots (latest 2017-01-04 or so) for a little over a year.
It would be very nice to see official, native, x64-targeted builds of WinSCP and other highly useful Free and freeware utilities for use on Server environments where the x86 compatibility layer has been removed due to resource constraints or performance considerations.
I don't personally have a need for it, but apparently Microsoft have revived the ARM target
(Aarch32 only?) for Windows, so it's likely people are going to start asking for it in the near future. This would be a good time for the PuTTY team and users of PuTTY-derived code to begin the process of ensuring that the code compiles cleanly across multiple architectures in general.
I hope this information about PuTTY compile targets is useful for the WinSCP team.