1

我使用 Windows 10 作为测试服务器,并尝试从 python 和 C++ 的源代码构建。我通过 choco choco windows 包管理器安装了 vcbuild 2015

当我尝试构建源代码时,我发现错误。

E:\downloads\Twisted-17.1.0>cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DWIN32=1 -IC:\Python36\include -IC:\Python36\include /Tcsrc/twisted/test/raiser.c /Fobuild\temp.win-amd64-3.6\Release\src/twisted/test/raiser.obj
raiser.c

c:\python36\include\pyconfig.h(59): fatal error C1083: Cannot open include file: 'io.h': No such file or directory

我在我的 vc++ 包含路径中找不到 io.h: 但是根据段落:Universal CRT

我发现 io.h 文件在我的 C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt

然后我发现我的通用 CRT 是空的

C:\WINDOWS\system32>set UniversalCRT_IncludePath
Environment variable UniversalCRT_IncludePath not defined

然后我定义那个环境变量:

E:\downloads\Twisted-17.1.0> set UniversalCRT_IncludePath="C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt"

然后我尝试再次编译源代码,但我仍然得到一个错误:

E:\downloads\Twisted-17.1.0>cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DWIN32=1 -IC:\Python36\include -IC:\Python36\include /Tcsrc/twisted/test/raiser.c /Fobuild\temp.win-amd64-3.6\Release\src/twisted/test/raiser.obj
raiser.c

c:\python36\include\pyconfig.h(59): fatal error C1083: Cannot open include file: 'io.h': No such file or directory

任何人都知道如何使 UniversalCRT_IncludePath 在命令行环境中工作,cl.exe 如何尝试使用该变量并使其包含默认的 c++,包括路径。

4

1 回答 1

1

没有什么特别UniversalCRT_IncludePathcl.exe

通用 CRT 的新建项目向导模板使用该名称的 MSBuild 变量(与环境变量或 shell 变量不同)来计算要传递给cl.exe.

因为您是手动调用编译器,所以您应该只在/I该目录中添加一个开关,而不用担心编译器无论如何都不会寻找的任何环境变量。

于 2017-02-13T04:45:17.733 回答