【问题标题】:can't find stdio.h in new Visual Studio 2017 Community project在新的 Visual Studio 2017 社区项目中找不到 stdio.h
【发布时间】:2018-04-25 17:09:44
【问题描述】:

我找到了与我遇到的问题相关的问题,但没有一个解决方案对我有用。我在问一个新问题,而不是对现有问题添加评论。我多年前使用 C++ 开发,但这是我第一次尝试在 Windows 10 上使用 VS 2017 社区版构建 C++ 程序。

我安装了 Visual Studio 2017 社区版并创建了一个空白 C++ 控制台项目。当我尝试构建时,我得到了

致命错误 C1083:无法打开包含文件:'stdio.h':没有这样的文件或目录

我回到安装程序并检查了 Windows 10 SDK: 适用于桌面 C++ 的 Windows 10 SDK (10.0.16299.0)

我的 VC 包含文件夹设置为: $(VC_IncludePath);$(WindowsSDK_IncludePath);

计算结果为: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\include C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\atlmfc\include C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\VS\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

stdio.h 和 C 和 C++ 标准的其余部分应该在哪里?

如果我注释掉 stdio.h,并尝试包含我得到 1>c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.11.25503\include\crtdefs.h(10):致命错误 C1083:无法打开包含文件:'corecrt. h': 没有这样的文件或目录

如果我注释掉所有包含,链接器将找不到 'ucrtd.lib

在 Windows SKD 的项目设置中,该项目有 8.1。如果我尝试将其更改为 10,我会收到“找不到 SDK 版本”。

如果我右键单击解决方案并选择“重新定位解决方案”,则唯一的选择是 8.1。

所以我的问题是标题应该在哪里?该系统确实安装了较旧的 Visual Studio。

【问题讨论】:

  • 写C++代码时使用#include <cstdio>
  • 我再次运行安装程序,发现甚至没有检查 C++ 工作负载。我很惊讶它让我在未安装的情况下创建了一个 C++ 解决方案。我是 MFC 开发人员的老派 C 和 C++ 开发人员,多年未尝试过。我进行任何真正的 c++ 开发的最后一个 VS 版本是 2006 年。

标签: c++ visual-studio-2017


【解决方案1】:

我遇到了同样的问题,尽管我尝试使用代码块而不是 Visual Studio。我在 Windows 10 上,所以你的里程可能会有所不同,但这是我找到 stdio.h 的路径:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt

如果您也使用 Windows 10,我猜可能会改变的是 \Include\ 和 \ucrt 之间的特定版本号

我知道这是正确的路径,因为现在在构建时,我得到了一个不同的错误,即“无法打开文件 LIBCMT.lib”。但该位置又回到了 Visual Studio 下,具体来说:

C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\lib\x86

所以也许这个问题不会出现在 Visual Studio IDE 中,但是,尽管找到了 LINK: fatal error LNK 1104: cannot open file 'LIBCMT.lib' 并尝试了一些建议的解决方案,我仍然在苦苦挣扎,并打算提出一个类似的问题,但指出如果这有什么不同,我正在使用代码块。

【讨论】:

  • 我的解决方案是再次运行安装程序并检查 C++ 工作负载。然后它起作用了。
猜你喜欢
  • 1970-01-01
  • 2019-03-09
  • 2017-08-25
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-24
  • 1970-01-01
相关资源
最近更新 更多