The use of -nodefaultlib:msvcrt (in makefile.vc) prevents an unchecked build.
This flag should not be present; it means that you are linking together objects that use msvcrtd with those that use msvcrt. While -nodefaultlib gets around linker warnings, this sort of linking is unsafe and can cause subtle and difficult to find bugs.
If you build Tcl and Threads with the proper OPTS then
it shouldn't be required at all.