Visual studio 2018 update 2

IDE не знаходила заголовки windows.h (головний WinAPI-заголовок), що призводило до «фатальну помилку» компілятора:

fatal error C1083: Can not open include file: 'windows.h': No such file or directory
  • виникала помилка «Unresolved external» компоновщика при використанні функцій типу GetModuleFileNameExW () зі стандартної WinAPI-бібліотеки Psapi:

    windows.h - фатальна помилка

    Судячи з усього, для проектів, орієнтованих на збірку з підтримкою Windows XP, в значенні за замовчуванням параметра «Include Directories» в розділі «VC ++ Directories» властивостей проекту тепер замість $ (WindowsSDK_IncludePath) фігурує $ (WindowsSdk_71A_IncludePath). Це, ймовірно, можна трактувати як крок Microsoft в напрямку повної відмови від підтримки Windows XP як цільової платформи в Visual Studio.

    Відповідно, проблему з windows.h можна вирішити скиданням параметра «Include Directories» на значення за замовчуванням ( «inherit from parent or project defaults») і повторним додаванням колишніх додаткових шляхів вже до цього нового значення за замовчуванням.

    Psapi - unresolved external

    Що стосується Psapi. довелося додати; Psapi.lib в параметр «Additional Dependencies» в розділі «Linker» → «Input» у властивостях проекту; т. е. тепер підключення psapi.h в вихідному коді програми недостатньо, і необхідно явним чином підключити ще і статичну lib -бібліотеки. Те ж, ймовірно, стосується і деяких інших бібліотек.

    Alex, навпаки, правильний шлях за замовчуванням для збірки сумісних з Windows XP додатків тепер - не $ (WindowsSDK_IncludePath). а $ (WindowsSdk_71A_IncludePath). Щоб не помилитися, що на що заміняти, просто виберіть зі списку відповідного параметра властивостей проекту пункт «inherit from parent or project defaults», і Visual Studio автоматично підставить відповідне значення.

    Відносно basetsd.h - подивіться відповідь на схоже запитання на StackOverflow.