VS отлично работает при компиляции с набором инструментов v141
и Windows 10 SDK, но он перестает работать, как только я переключаюсь на набор инструментов v141_xp
и Windows 7.0 SDK и нажимаю Build.
Важное замечание: v141_xp
набор инструментов работал около полугода назад. В то время я установил на эту машину все программное обеспечение Visual Studio с 2010 по 2017 год. Затем я решил удалить все из них, кроме 2017 года. Я не знаю, сломался ли после этого набор инструментов XP, потому что с тех пор я его не использовал .
Пример вывода из проекта по умолчанию:
1>------ Build started: Project: Project1, Configuration: Debug Win32 ------
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Platforms\Win32\PlatformToolsets\v141_xp\Toolset.targets(36,5): warning MSB8003: Could not find WindowsSdkDir_71A variable from the registry. TargetFrameworkVersion or PlatformToolset may be set to an invalid version number.
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(375,5): warning MSB8003: Could not find WindowsSDKDir variable from the registry. TargetFrameworkVersion or PlatformToolset may be set to an invalid version number.
1>Project1.cpp
1>LINK : fatal error LNK1104: cannot open file 'kernel32.lib'
1>Done building project "Project1.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Если я уберу поддержку XP, установщик сообщит мне, что 220 МБ будет освобождено, но если я решу переустановить его, он скажет, что «Требуемое общее пространство» составляет 507 КБ, что подозрительно мало.
Кроме того, всякий раз, когда я выбираю установку поддержки XP, создается C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A
, но оно остается пустым.
Иногда, даже с установленной поддержкой XP, это сообщение печатается 2 раза при загрузке XP vcxproj:
Project 'Project1' could not be loaded because it's missing install components. To fix this launch Visual Studio installer with the following selections:
Windows XP support for C++
Установка отсутствующих функций не исправит это, даже не переустановив всю VS.