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

  

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

  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 上才有的功能)

    

    

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

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

    

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

    

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

    这时候会出现新的 error

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

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

    

    将对应选项分别选择最高的(或对应的),然后确定。再重新编译即可排除 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"

时间: 2024-10-12 15:45:22

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

node.js安装后出现环境变量错误找不到node

安装node.js和bower之后,运行bower出现/usr/bin/env: 'node': No such file or directory错误 这个错误是由于安装完node.js环境变量并没有设置好,需要手动链接,才可以正常使用. #解决方法 执行一下命令sudo ln -s /usr/bin/nodejs /usr/bin/node

MPC8313ERDB在Linux从NAND FLASH读取UBoot环境变量的代码分析

[email protected] 一.故事起因 因为文件系统的增大,已经大大的超出了8MB的NOR FLASH,而不得不把内核,文件系统和设备树文件保存到NAND FLASH上.但是因为使用的是RAMDISK,而无法保存一些个别的配置和参数,最简单的需要就是设置系统的IP了,,, 要使用统一的RAMDISK,而实现LINUX启动之后,设置成不能的参数功能,比较方便的就是从UBOOT把这些参数传递过去,这个得到了大家的认证,我们可以直接添加启动参数,然后在内核里面读出来,这种方法比较方法,唯一不

java环境变量配置---path

安装好jdk后,为解决只能在进入jdk安装文件目录下(本人JDK安装在E:\java下)进行编译问题,需进行path环境变量配置,具体操作如下:(操作系统win7) 1)右键点击“我的电脑”---属性---高级系统配置----点击“环境变量”进行设置 2)“系统变量”---”新建系统变量“ 3)-->”变量名“设置:java_home  -->”变量值“设置:E:\java  -->确定 4)在”系统变量“下找到名为”path“的变量,在其最后加上"%java_home%&qu

GCC 环境变量 & eclipse CDT 头文件配置

转:http://blog.csdn.net/statdm/article/details/7751000 GCC 环境变量 & eclipse CDT 头文件配置 在unix 下使用eclipse 进行c/c++开发时,默认是使用系统的头文件路径,如果你自己新安装了编译器,比如最新版 gcc 4.7.1,这个时候你要将头文件 路径指向你的gcc安装路径,配置如下图: 菜单 window-->preferences 添加变量 CPP_INCLUDE_PATH 重启后,Include中的c++

将Opencv加入到环境变量中

1.Cmake 命令出错问题分析,以下语句报错,cmake是通过系统查找对应的模块的地址的,所以没有找到应该是环境变量错误了. FIND_PACKAGE( OpenCV 4.0.0 REQUIRED ) 2.重新添加系统环境变量. 3.直接测试对应的程序并对于cmake文件做了修改. 原始Cmake文件 cmake_minimum_required (VERSION 3.0) PROJECT(Photo_Tool) set (CMAKE_CXX_STANDARD 11) IF(EXISTS ${

Linux下oracle环境变量无效问题

今天在维护oracle数据库时,查看监听的状态,执行 #lsnrctl status 报错: -bash:lsnrctl:command not found.以前并不会这样,仔细想了一下,问题找到了,我是以root远程登录到服务器上,维护oracle时,直接 su oracle,这样操作虽然用户切换为oracle,但是环境变量仍然是root的环境变量,所以会报环境变量错误,正确的命令是su - oracle,这样环境变量也会切换为oracle的环境变量.看一下 su 命令的 man page N

一起talk C栗子吧(第一百三十七回:C语言实例--查看环境变量)

各位看官们,大家好,上一回中咱们说的是exec系列函数的例子,这一回咱们说的例子是:查看环境变量.闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,我们在前面介绍exec系列函数时提到过程序的运行环境,有些看官可能不太明白,今天我们一起来看看程序运行环境中的环境变量.环境变量在实际编写程序的时候经常使用,比如常用的PATH环境变量.有时候程序无法运行,就是环境变量错误引起的. 环境变量是操作系统提供的一种参数,程序可以通过这些参数来在操作系统中运行,它是本质上是键值对序列. 例如:SH

Centos中修改环境变量,导致命令丢失的解决办法

本人初学linux,在安装jdk时,修改环境变量导致大量命令丢失? 其实命令还是在系统当中,不过由于环境变量错误,导致修改命令无法通过之前的方式找到,所以出现上面的问题. 这时我们可以通过绝对路径来调用命令,将环境变量修改回来. /bin/vi 这是vi编辑器的绝对路径 之后的问题相信就能自己解决了.

Ubuntu编译源码搭建PHP开发环境

准备源码: 1.mysql的源码:mysql-5.5.15.tar.gz 2.apache的源码:httpd-2.2.19.tar.gz 3.php的源码:php-5.3.6.tar.gz 第一步,安装MySql groupadd mysql                                添加一个mysql用户组useradd -g mysql mysql                  添加一个mysql到用户,此用户属于mysql组 tar -xzvf mysql-5.5.