我是一名初学者,我第一次尝试在 Windows 中构建一个开源项目,但在构建时我不断遇到
file not found
错误。到目前为止我发现的是一个名为 corecrt.h
的头文件位于 C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\
。该文件将包含另一个名为 vcruntime.h
的头文件。问题是在该文件夹中找不到 vcruntime.h
。
我后来发现
vcruntime.h
位于位于C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\include
的单独文件夹中。这很奇怪,因为我不确定为什么 corecrt.h
会包含一个不在其自己的文件路径中的文件...
我做了一件愚蠢的事情,只是将
vcruntime.h
文件复制到 C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\
,但这只是将问题转移到了路上,因为 vcruntime.h
反过来还包含位于 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\include
的其他头文件,所以开。
我认为问题在于Windows本身。我想我缺少一些应该安装额外头文件的东西,例如
vcruntime.h
到 C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\
到目前为止,我已经尝试卸载/重新安装Windows SDK,并重新安装整个Windows,但仍然没有办法让丢失的文件出现在该文件夹中。有人可以给我一些对此的见解吗?我在 Reddit 上问过这个问题,但到目前为止没有任何帮助。
这是我正在遵循的有关如何构建的说明的链接https://wiki.documentfoundation.org/Development/BuildingOnWindows
我正在我的 Windows 10 计算机上使用他们建议的环境 Lode 进行构建。
我明白了
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\corecrt.h(10): error: vcruntime.h: No such file or directory
错误发生在构建步骤,我运行
make 2>&1 | tee build.log
我也遇到了同样的问题,但发现原因是包含目录未正确指定。为了解决这个问题,我使用 Visual Studio 执行了以下操作:
您很可能使用 cygwin 进行 make。问题的根源在于,当路径名中有空格时,Linux 会遇到一场噩梦,因此它们会被转换为 Windows 8.3 格式,例如 C:/PROGRA~2/。
在您的特定情况下,在 autogen.sh 创建 config_host.mk 文件后,检查其中的 SOLARINC 变量。它应该只包含 Windows 8.3 路径名,例如
-IC:/PROGRA~2/
,没有 cygdrive。
当从旧版本的 Visual Studio 编译遗留项目时,我在 Visual Studio 2019 中也遇到了同样的问题。解决方法如下: