Библиотеки (lib,dll), заголовочные файлы (h), исходники (с) разбросаны по каталогам ПК в каком-то на первый взгляд хаотичном не понятном порядке.
Если у вас несколько Visual Studio установлено, плюс WinDDK , плюс WinSDK , то процесс понимания , что происходит при сборке ваших проектов (например на с) становится иногда настолько туманным, что настаёт время уделить немного внимания вопросу какая из версий библиотек в данный момент используется.
Как всегда популярным методом для настройки среды исполнения является предварительный вызов vcvarsall.bat из того каталога, в котором лежит инструментарий нужной вам версии (в разных вариациях параметров).
переменная среды окружения VS100COMNTOOLS
Есть такая переменная окружения VS100COMNTOOLS , которая появляется после установки MSVS.
Если ее значение вывести из bat файла, то можно получить примерно такой вариант, но что это значит ?...
VS100COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\
Если вы подумали , что версия MSVS 2010 , то это не так.
Эта папка:" C:\Program Files (x86)\Microsoft Visual Studio 10.0 " устанавливается visual studio 2012 !
Visual Studio 2010 Ultimate
После установки появляется :
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A
C:\Program Files (x86)\Microsoft Visual Studio 9.0
Но тут практически ничего нет, только
C:\Program Files (x86)\Microsoft Visual Studio 10.0
в наличии vcvarsall.bat
В переменные окружения добавляется:
%VS100COMNTOOLS% = c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\
Visual Studio 2022 Community
После установки VS 2022 Community появляется папка :
C:\Program Files\Microsoft Visual Studio\2022\Community
но vcvarsall.bat нигде нет, заголовочных файлов типа assert.h тоже нигде нет. Вобщем страння это Community...
Что такое Win SDK
Абсолютно бесплатно с сайта developer.microsoft.com можно скачать нечто называемое Пакет SDK для Windows 10 .
В состав пакета SDK для Windows 10 (10.0.19041.0) версии 2004 входят новейшие заголовки, библиотеки, метаданные и средства для создания приложений для Windows 10.
Этот пакет SDK поможет вам в создании приложений универсальной платформы Windows (UWP), а также приложений Win32 для Windows 10 версии 20H2 и для предыдущих выпусков Windows.
Что это вообще такое? Это для каких разработчиков? Это НЕ для разработчиков MS Visual Studio (да такие тоже есть) , а для других сред разработки , например Qt или прямо для разработки из командной строки (кстати сама Windows именно так и собирается).
И вот тут важно обратить внимание куда Win SDK устанавливается - C:\Program Files (x86)\Windows Kits\10,. В данном случае 10 означает Windows 10:

Далее идет выбор устанавливаемого функционала :

Обращаем внимание , что установка идет в кучу 32 разрядных приложений C:\Program Files (x86) ....
В переменные среды окружения добавляется C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\.
Теперь вопрос что такое есть в SDK чего нет в Visual Studio? Оказывается к примеру в Visual Studio нет заголовочный файлов synchapi.h , apiset.h...
А зачем нужны synchapi.h , apiset.h - например для сборки openSSL под тулчейном msvs2010.
Чего нет в SDK? - почему-то нет vcvarsall.bat .