【发布时间】: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 年。