我正在使用两台安装了Visual Studio 2019的机器,其中一台安装了Community版本,另一台安装了Pro版本。然而,Pro版本的MSBuild完全忽略了INCLUDE环境变量,因此我正在构建的项目(ICU)找不到stddef.h文件。虽然 Windows Kits 10 ucrt 目录已包含在INCLUDE环境变量中,但该文件仍未被找到。
相比之下,Community版本没有遇到这个问题。
当我使用 /v:diag 选项构建项目时,我可以看到INCLUDE环境变量中定义的大部分内容被添加到名为CAExcludePath的变量中。
以下是INCLUDE环境变量:
相比之下,Community版本没有遇到这个问题。
当我使用 /v:diag 选项构建项目时,我可以看到INCLUDE环境变量中定义的大部分内容被添加到名为CAExcludePath的变量中。
以下是INCLUDE环境变量:
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;;
为什么会出现这种情况,如何避免?