VS 编译 MFC 应用可能会遇到的环境变量错误

时间:2021-03-05 00:21:30

  

先贴上可能出现的错误信息:

  1. “winsdkver.h”: No such file or directory
  2. “SDKDDKVer.h”: No such file or directory
  3. (留空待补充)

问题分析:

  1. SDK文件缺失
  2. 多SDK共存
  3. VS多版本共存导致环境变量出问题
  4. 目标平台指向错误
  5. (留空待补充)

下面说一下简单的解决方法:

  1、首先是最简单的一键解决方案——“重定项目目标”

    (貌似只有 VS2015 和 VS2017 上才有的功能)

    VS 编译 MFC 应用可能会遇到的环境变量错误

    VS 编译 MFC 应用可能会遇到的环境变量错误

    选择好对应的 SDK 版本并确定,该操作可以解决 80% 的问题。

  2、如果经过上一步骤仍提示有 “winsdkver.h”: No such file or directory 请进入解决方案的属性页面

    VS 编译 MFC 应用可能会遇到的环境变量错误

    此时属性页面上的 “Windows SDK 版本”“平台工具集” 会是与你之前选择的 SDK 版本所对应。

    VS 编译 MFC 应用可能会遇到的环境变量错误

 

    将这两项对应的值更改为 “从父级或目录默认设置继承” 并点击确定,然后重新编译。

    这时候会出现新的 error

“error MSB8020: 无法找到 Visual Studio 2010 的生成工具(平台工具集 =“v100”)。若要使用 v100 生成工具进行生成,请安装 Visual Studio 2010 生成工具。或者,可以升级到当前 Visual Studio 工具,方式是通过选择“项目”菜单或右键单击该解决方案,然后选择“重定解决方案目标”。”

    然后根据 error 的提示再次进入 “重定项目目标” 可以发现此时的选项比最开始多出一个

    VS 编译 MFC 应用可能会遇到的环境变量错误

    将对应选项分别选择最高的(或对应的),然后确定。再重新编译即可排除 error。

  3、如果脸黑还是同样的 error 报错呢?、

    那只有两种强制解决思路,1:手动修改 SDK 环境路径;2:删去多余的 SDK 环境

    针对第一种方法有多种解决办法

    这里给出参考的链接:

    lpx15312——无法打开包括文件:“SDKDDKVer.h”: No such file or directory

    hhh1108——VS2013 C++ error C1083: 无法打开源文件: “SDKDDKVer.h”, "stdio.h", "tchar.h"