Building with Visual Studio 2017

[chrstphrchvz 2019-07-29: this issue will be resolved in Tcl/Tk 8.6.10]

Tk will fail to compile when building with the default SDK that comes with Visual Studio 2017 Update 4 or later. See the Tk ticket for details as to why.

This does not mean you cannot use new VS releases to build. It just means that when you use the newer releases, you have to explicitly specify the older SDK that came in VS 2017 releases prior to Update 4. The last SDK that can be used to build Tk is 10.0.15063.0. When setting up the command line environment, this must be passed to vcvarsall.bat, for example

vcvarsall x64 10.0.15063.0 

to set up a 64-bit build environment (x86 for 32-bit).

The SDK can be downloaded independently or it can also be installed via the VS 2017 installer which gives you a choice of one or more SDK's to install. Note you can install multiple SDK versions with no issues. Just make sure you pick the correct one via vcvarsall as shown above.