>>34
新しく実装された機能を扱うなら、対応する(定義された)Windows SDKが必要
UCRTやそのバグを考えると初版の10.0.10240は避け、10.0.10586以降が基本

しかしそれ以前のWindowsをサポートするなら、_WIN32_WINNTも適切に設定する
例えばXPではPSAPIの呼び出しが異なるので、対応させるならマクロ値を下げる
XP対応ツールセット以外はTargetUniversalCRTVersionや最小バージョンも設定


プラットフォームツールセットはC/C++言語バージョン対応など改善するが
Windowsの最低限必要なバージョンに設定できる下限が上がってしまったり
2015以降はBorlandとかで使われるOMFオブジェクトをサポートしなくなる

また現行のv14.28-16.8以降v14.3xにもインラインアセンブリのラベルで
デバッグ情報が不正になるバグがあり、それはもう長らく放置されている

インクルードエラーはツールセットが入ってないかパスが通ってないか
あとは各メジャーバージョンの最新でないツールセットを使うのならば
VC\Auxiliary\Buildフォルダのファイルで既定バージョンの設定を推奨