Martin Ba
Martin Ba

Reputation: 38775

Windows-SDK vs. Visual-Studio compatibility

Is there any compatibility matrix as to what Visual Studio Versions (Say, ranging 2005 - 2017) are compatible with which Windows SDK Versions?

Should any Windows SDK be fully compatible with "any" C++ compiler, or are the different Windows SDK versions bound to certain compiler versions?

For example(!), we have a legacy C++ application that is still compiled with VS2005. We found that we'd like to use GetDpiForMonitor from this application. But to use this function, would require to use the headers+libs from at least an SDK supporting Windows 8.1 (e.g. the 8.1 SDK headers at C:\Program Files (x86)\Windows Kits\8.1\Include\um)

Generally, should a developer expect to be able to switch to a newer Windows SDK version without upgrading his compiler / Visual Studio?

Please refrain from suggesting to upgrade VS: This question tries to establish what you should do when upgrading VS is not an option for now, but you want to use stuff from (and depend on) functionality only available in newer Windows (SDK) versions.

Upvotes: 1

Views: 962

Answers (1)

mwallner
mwallner

Reputation: 1075

concerning the "compatibility matrix": I don't think anybody made the effort to up to create one, also I'm not sure if this is really needed. Rule of thumb: those API headers don't change quite often, and when they do, they are usually pretty much backward compatible.

The tricky part may be to teach your older VS to get along with a new SDK, you may need to change the VC+ include/source/lib directories for your solution/project manually. (if it complies & links in your old VS, you should be fine)

Upvotes: 1

Related Questions