Should I use Windows 8.1 SDK or Windows 10 SDK with Visual Studio 2017 for standard C++?

Viewed 3437

I'm using Visual Studio 2017 to develop console applications in standard C++. When installing VS2017, I can install both Win 8.1 SDK and Win 10 SDK. VS2017 seems to offer Win 10 SDK by default, but I keep coming across projects that are configured to use Win 8.1 SDK (e.g., MPIR or projects created in previous versions of VS). Thus, I'm wondering:

  • Which SDK is preferable to use for standard C and C++?
  • Can I safely link together libraries that use different versions of Windows SDK? E.g., can I have MPIR compiled against Win 8.1 SDK and call it in an application that uses Win 10 SDK?
1 Answers

This Microsoft page suggests that it usually doesn't matter which you use. In particular, it says,

When you deploy your application, you can link it with /MT option to completely avoid CRT related dynamic link libraries and in most cases you don't even need the redistributable run-time then. All the toolset functions are then present in your module and don't need any other dependencies.

Related