Почему windows-sdk не может быть правильно связан при использовании cl или msbuild? - PullRequest
0 голосов
/ 03 мая 2019

Я использую 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?

1 Ответ

0 голосов
/ 08 мая 2019

Ну ... я наконец нашел "грязное" решение: Я изменяю vcvarsall.bat, меняю значение по умолчанию __VCVARSALL_WINSDK на мою целевую версию WindowsSDK: enter image description here (%WindowsSDKVersion% - это переменная окружения, которую я установил ранее)

Кажется, что все работает хорошо ... надеюсь, что

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...