MSBuild 2019 игнорирует переменную среды INCLUDE - PullRequest
0 голосов
/ 04 марта 2020

Я работаю с двумя компьютерами, на которых установлена ​​Visual Studio 2019. Одна имеет версию Community, другую - версию Pro.

Профессиональная версия MSBuild полностью игнорирует переменную среды INCLUDE, поэтому проект I ' я пытаюсь собрать (ICU) не могу найти stddef.h. Файл stddef.h находится в каталоге Windows Kits 10 ucrt, который входит в INCLUDE env var.

В сообществе этого не делается.

При сборке Проект с параметром / v: diag. Я вижу, что большая часть того, что определено в переменной enludE env, добавлена ​​в переменную с именем CAExcludePath.

Вот переменная INCLUDE env: INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.24.28314\include;;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.24.28314\atlmfc\include;;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\VS\include;;C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt;;;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\VS\UnitTest\include;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\winrt;;

И Вот CAExcludePath: CAExcludePath=C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.24.28314\atlmfc\include;C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.24.28314\include;C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt;;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\winrt;;

Почему это происходит и как я могу предотвратить это?

1 Ответ

0 голосов
/ 04 марта 2020

MSBuild 2019 игнорирует переменную среды INCLUDE

Я думаю, вам не следует устанавливать эти пути в Переменные среды . Для проектов C ++ VS не распознает путь к библиотеке в системных переменных среды по умолчанию, и это не задание VS.

Обычно , вы должны установить дополнительные пути к библиотекам в VS IDE. Щелкните правой кнопкой мыши свой проект -> Properties -> Configuration Properties -> VC++ Directories -> Include Directories или Properties -> Configuration Properties -> C/C++ -> Additional Include Directories. Вы можете обратиться к этому официальному документу .

Однако , когда я устанавливаю Windows Наборы инструментов , этот путь включается в список включенных путь по умолчанию, и вы можете использовать это в своем коде напрямую. Смотрите это:

enter image description here

Так что Я боюсь, что у вас что-то не так при установке инструмента Windows Kits . Пожалуйста, следуйте этому документу , чтобы установить нужный инструмент, и прежде чем завершить его sh, установите соответствующее расширение, которое является последним шагом в установщике в Visual Studio 2019 для интеграции инструмента.

Я думаю, что при установке расширения эти пути будут автоматически включены в VS, и вы сможете использовать их напрямую.

enter image description here

Кроме , если вы не хотите устанавливать это расширение, вы можете добавить путь включения вручную, выполнив шаги I упоминалось выше.

Если вы выполнили эти шаги и все еще столкнулись с той же ошибкой, я думаю, вам следует проверить свою среду и выполнить следующие рекомендации:

1) закрыть VS Например, удалите папки .vs, bin, obj, заново откройте ваш проект и затем соберите заново

2) выполните восстановление в VS Installer

3) , если ваша VS не самая последняя, ​​обновите VS и не забудьте обновить операционную систему одновременно.

Надеюсь, что эта помощь.

...