VS2017 C++编译时出现 "the windows sdk version for 8.1 was not found"解决办法(亲测有效)

最近安装了win7 64位旗舰版+Vistual Studio2017,发现编译程序的时候出现sdk的错误,网上的解决方法大同小异,但都不太好使,经过一番折腾,总算是完美解决。

编译时VS2017报错如下所示:

vs2017 error MSB8036: The Windows SDK version 8.1 was not found.

原因及解决方案:

出现这个sdk版本选择问题的主要原因是VS2017内默认使用的是Windows SDK 8.1,但实际上VS2017并不包含这个文件,执行编译时VS无法找到该文件,自然就会报错。

这时候只需要下载一个最新版的sdk安装即可,由于sdk具有向下兼容性,一般win7/win8/win10出现该问题,都可以这么解决。

1.首先,右键要编译的项目>>Properties>>Configuration Properties>>General,查看Windows SDK的版本号,发现是8.1,下拉菜单中没有其他版本号选项,这里因为是已经安装了,所以出现了新的版本号。

 

确认之后,本人测试发现网上的方法,比如在项目右键选择 “重定SDK版本目标”,即可弹出新版本安装选项,我这个没有,只能自己下载安装。

 

2.登陆windows sdk官方网址:https://developer.microsoft.com/zh-cn/windows/downloads/windows-10-sdk,下载Windows 10 SDK (10.0.16299.15),本人下载.exe文件直接双击即可,然后其他选项默认安装到C盘即可,安装时间可能会时长时短,我昨晚安装花费了2个小时没成功,今早只用了10分钟。

(网上有人说必须安装到VS的安装路径下SDK文件夹内,自己亲测没有必要,默认安装即可,不影响使用。) 

注意查看sdk的版本兼容性,上述下载的版本是最新的,完全适用win7系统,具体可以在上述网址内有详细介绍,如图所示:

 

3.安装完成后,重新执行步骤1的查看方法,可以发现下拉菜单中出现了新的版本号10.0.16299.15,选择该版本号并点击下面的应用和确认,再次编译程序发现可以顺利通过了。

问题解决。

posted @ 2018-04-09 09:01  飞翔的拖拉机  阅读(32805)  评论(0编辑  收藏  举报