VS2015 cl 在命令行上构建时找不到 CRT 库(stdio.h、ctype.h 等)

新手上路,请多包涵
  • 我已经安装了最新的 VS2015 专业版。
  • 打开 Visual Studio 命令提示符并运行 vcvars32.bat
  • 编写了一个简单的 helloworld.cpp 程序(包括 stdio.h 并打印“hello world”)
  • 试过 cl helloworld.cpp

我收到以下错误:

 c:\test>cl helloworld.cpp
Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23026 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

helloworld.cpp
helloworld.cpp(1): fatal error C1083: Cannot open include file: 'stdio.h': No such file or directory

vcvars32.bat 设置的包含路径是:

 INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE;C:\Program Files (x86)\Windows Kits\10\include\wdf\ucrt;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6\include\um;C:\Program Files (x86)\Windows Kits\10\include\wdf\shared;C:\Program Files (x86)\Windows Kits\10\include\wdf\um;C:\Program Files (x86)\Windows Kits\10\include\wdf\winrt;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE;C:\Program Files (x86)\Windows Kits\10\include\wdf\ucrt;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6\include\um;C:\Program Files (x86)\Windows Kits\10\include\wdf\shared;C:\Program Files (x86)\Windows Kits\10\include\wdf\um;C:\Program Files (x86)\Windows Kits\10\include\wdf\winrt;

请注意,环境变量中的路径是“ C:\Program Files (x86)\Windows Kits\10\include\ wdf \winrt; ”等。但是,文件的实际位置是 C:\Program Files (x86) \Windows 工具包\10\include\ 10.0.10240.0 \winrt;

我在这里做错了吗?非常感谢任何帮助。

ps 我的真正目的是构建 boost 1.58 库(但它遇到了与上面相同的问题,所以首先想隔离问题)。

pps 我注意到以下环境变量。但我无法改变它们。

 WindowsSDKLibVersion=wdf\
WindowsSDKVersion=wdf\

原文由 Nilay Kothari 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 506
1 个回答

如果您安装了 WDK(Windows 驱动程序工具包 - 10.0.26639),您将遇到此问题,因为包含路径被 WDK 覆盖。要使其正常工作,您必须卸载 WDK,它应该可以工作。

原文由 AhmedBM 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题