在新的Visual Studio 2017社区项目中找不到stdio.h

时间:2017-11-13 04:45:27

标签: c++ visual-studio-2017

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

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

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

我回到安装程序并检查了Windows 10 SDK: 用于Desktop 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。

1 个答案:

答案 0 :(得分:0)

我遇到了相同的问题,尽管尝试使用代码块而不是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'并尝试了一些建议的解决方案,但我仍在努力,并打算提出一个类似的问题,但指出会发现我正在使用代码块,如果有什么区别。