VS2017 编译找不到stdio.h

下载别人的工程,用vs2017打开编译不过,提示找不到文件
这里写图片描述
此问题首先肯定是路径没有包含。打开工程属性查看VC++目录。
这里写图片描述

最后发现本机没有目录D:\Windows Kits\10\Include\10.0.10240.0\ucrt。 发现stdio等文件正好在这个目录下。查看了本机的目录发现D:\Windows Kits\10\Include 目录下只有版本为10.0.17134.0的目录。

这里写图片描述
问题原因应该是这样。

解决方案:
方法一:
修改工程的配置属性把vc++目录都添加上。

方法二:
修改默认的属性表,切换到属性管理器中。打开工程的属性表。统一修改包含目录,把需要的目录添加进去。

这里写图片描述

上面两种方法我并没有采用,按道理可以解决,方法一每个工程要改觉得好麻烦。本人又太懒,不想动。
方法二可以很快把所有工程都解决。这个可以。

**方法三
找到Microsoft.Cpp.Common.props。修改里面的 \Windows Kits\10\Include下的目录的版本,为你本机的版本。此方法本人发现修改。修改前慎重,把原来文件备份一下。Microsoft.Cpp.Common.props文件在D:\Soft\VS2017_C\Common7\IDE\VC\VCTargets目录下。

以下是我发现的过程,可以给大家一个解决问题的参考
我没有采纳方法一和二。我就想找在那里出现了这个D:\Windows Kits\10\Include\10.0.10240.0\ucrt。包含目录只有这两个 ( V C I n c l u d e P a t h ) ; (WindowsSDK_IncludePath);。经过展开,发现是宏 ( V C I n c l u d e P a t h ) ; (VC_IncludePath);这个在哪里定义了,大致百度了了一下,没有找到自己想要的结果。我就开始自己去摸索。我首先搜索了我安装vs2017 社区版的目录。搜索VC_IncludePath。
这里写图片描述
于是我打开了Microsoft.Cpp.Common.props这个文件,具体的我是没看太懂,大致应该是有初始化这个变量的地方。但是搜索半天也没有看到有D:\Windows Kits\10\Include\10.0.10240.0\ucrt等信息。看了半天左后才发现有一个10.0.10240.0。
这里写图片描述
我就觉得应该是改这个地方,我就把原来文件备份一份,把此处的10.0.10240.0 改成我电脑里只有的一个文件夹名字10.0.17134.0。
然后重新启动了一下工程,打开VC++目录查看包含目录发现目录展开后截图如下:
这里写图片描述

发现变回来了。再次编译,发现不再提示。问题解决。

所以我的解决方案是:
找到Microsoft.Cpp.Common.props。修改里面的 **\Windows Kits\10\Include下的目录的版本,为你本机的版本。

问题原因不一样,可能解决的方法不一样,我把自己的发现所得分享出来给大家一个思路。

猜你喜欢

转载自blog.csdn.net/zpbrook/article/details/80336286