VS2017 编译 kbengine找不到stdio.h

下载的工程(kbengine),用vs2017打开编译不过,提示找不到文件
VS2017 编译 kbengine找不到stdio.h
此问题首先肯定是路径没有包含。打开工程属性查看VC++目录。
VS2017 编译 kbengine找不到stdio.h

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

VS2017 编译 kbengine找不到stdio.h
问题原因应该是这样。

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

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

VS2017 编译 kbengine找不到stdio.h

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

**方法三
找到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。包含目录只有这两个(VCIncludePath);(WindowsSDK_IncludePath);。经过展开,发现是宏(VCIncludePath);(VC_IncludePath);这个在哪里定义了,大致百度了了一下,没有找到自己想要的结果。我就开始自己去摸索。我首先搜索了我安装vs2017 社区版的目录。搜索VC_IncludePath。
VS2017 编译 kbengine找不到stdio.h
于是我打开了Microsoft.Cpp.Common.props这个文件,具体的我是没看太懂,大致应该是有初始化这个变量的地方。但是搜索半天也没有看到有D:\Windows Kits\10\Include\10.0.10240.0\ucrt等信息。看了半天左后才发现有一个10.0.10240.0。
VS2017 编译 kbengine找不到stdio.h
我就觉得应该是改这个地方,我就把原来文件备份一份,把此处的10.0.10240.0 改成我电脑里只有的一个文件夹名字10.0.17134.0。
然后重新启动了一下工程,打开VC++目录查看包含目录发现目录展开后截图如下:
VS2017 编译 kbengine找不到stdio.h

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

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

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