gpt4 book ai didi

c++ - MSBuild 2019 忽略 INCLUDE 环境变量

转载 作者:行者123 更新时间:2023-12-03 11:06:42 34 4
gpt4 key购买 nike

我正在使用两台装有 Visual Studio 2019 的机器。一台是社区版,另一台是专业版。

MSBuild 的专业版完全忽略了 INCLUDE 环境变量,因此我尝试构建的项目 (ICU) 找不到 stddef.h。 stddef.h 文件位于 Windows Kits 10 ucrt 目录中,该目录包含在 INCLUDE 环境变量中。

社区版不这样做。

当我使用/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文件 (x86)\Windows 工具包\8.1\Include\um;C:\Program Files (x86)\Windows 工具包\8.1\Include\shared;C:\Program Files (x86)\Windows 工具包\8.1\Include\winrt; ;

为什么会发生这种情况,我该如何预防?

最佳答案

MSBuild 2019 ignores INCLUDE environment variable

我认为你不应该将这些路径设置到环境变量中。对于C++项目,VS默认不识别系统环境变量中的库路径,这不是VS的工作。

通常,您应该在 VS IDE 中设置额外的库路径。右键单击您的项目-->Properties-->Configuration Properties-->VC++ Directories-->Include DirectoriesProperties-->Configuration Properties-->C/C++-->Additional Include Directories .可以引用this official document .

但是,当我安装Windows Kits工具时,这个路径默认包含在include路径中,您可以直接在代码中使用它。看这个:

enter image description here

那么 恐怕您在安装Windows Kits 工具 时出了点问题。请关注this document要安装正确的工具,在完成之前,请安装相关的扩展,这是 Visual Studio 2019 中安装程序集成该工具的最后一步。

我想当你安装扩展时,这些路径会自动包含到VS中,你可以直接使用它们。

enter image description here

此外,如果你不想安装这个扩展,你可以按照我上面提到的步骤手动添加包含路径。

如果您已完成这些步骤但仍然遇到相同的错误,我认为您应该检查您的环境并遵循以下建议:

1)关闭VS实例,删除.vsbinobj文件夹,重新打开你的项目然后重新构建

2) do a repair在 VS 安装程序中

3)如果您的 VS 不是最新的,请更新您的 VS,同时不要忘记更新操作系统。

希望这些帮助。

关于c++ - MSBuild 2019 忽略 INCLUDE 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60516987/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com