Я использую VS2017 для создания некоторых проектов на C ++, и все идет успешно.Когда я собираю некоторые библиотеки с помощью MSBuild
, cl
или qt-creator с помощью инструментов msvc, всегда возникают ошибки «не удается открыть включаемый файл», и все эти отсутствующие включаемые файлы находятся в Windows Kit
, например:
e:\workspace\boost_1_70_0\tools\build\src\engine\jam.h(71): fatal error C1083: can not open include file: "ctype.h": No such file or directory
e:\workspace\boost_1_70_0\tools\build\src\engine\strings.h(11): fatal error C1083: can not open include file: "stddef.h": No such file or directory
order.c
e:\workspace\boost_1_70_0\tools\build\src\engine\modules\../mem.h(67): fatal error C1083: can not open include file: "stdlib.h": No such file or directory
Я искал решения и наконец нашел одно для qt: когда я добавляю следующие две строки, qt-creator с инструментами msvc может успешно собрать:
win32 {
INCLUDEPATH += "F:\\Windows Kits\\10\\Include\\10.0.17763.0\\ucrt\\"
LIBS += -L"F:\\Windows Kits\\10\\Lib\\10.0.17763.0\\ucrt\\x86\\"
}
и для это , я проверил user.props
:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup />
<ItemGroup />
</Project>
Очевидно, что что-то пошло не так с WindowsSDKVersion
, WindowsSDK_IncludesPath
, WindowsSDK_LibraryPath
или с чем-то еще в Windows SDK.Но этого не существует до этого года.У меня нет идеала, что случилось.
Есть ли способ исправить WindowsSDK_IncludesPath
и WindowsSDK_LibraryPath
или хотя бы сделать возможным использование msbuild и cl?