解决VS2015安装后stdio.h ucrtd.lib等文件无法识别问题
Posted 初二八九
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决VS2015安装后stdio.h ucrtd.lib等文件无法识别问题相关的知识,希望对你有一定的参考价值。
今天突然想在windows上装个 VS2015 玩玩,结果遇到了如下bug:安装完 VS2015 后,直接新建项目->win32控制台->运行,结果报错!"无法打开包括文件: “stdio.h”: No such file or directory”"lnk1104:无法打开文件 ucrtd.lib ”奇了怪了,stdio.h 和 ucrtd.lib 都是 VS 自带的头文件和库文件,都无法识别,所以第一反应就是这个头文件和库文件的目录没有正确的导入,即include 和 lib的环境变量出了问题。
这个问题网上有几个解决方法,但是本人试过大部分的解决方案都不好用,而且都是针对当前项目单独设置的(我可不想每次新建一个项目就得重新配一下环境,太麻烦了。。。),所以这里直接提供一个全局的解决方法:
1.首先打开VS2015,新建一个项目,我这里新建的项目名称为"201604172330_helloworld"(名称随意),然后点击菜单栏"视图"->"其他窗口"->"属性管理器",从而调出属性管理器页面。
2.我的"属性管理器"页面是在 VS2015 窗口的右侧,然后在项目名称"201604172330_helloworld"下找到"Debug | Win32"文件夹,双击"Microsoft.Cpp.Win32.user"。
3.在弹出的属性页中,点击左侧的"VC++ 目录",分别选择"包含目录" 和 "库目录" 右侧的下拉箭头,然后点击"编辑" ,从而修改环境变量。
4.对于include环境变量的编辑,首先取消勾选"从父级或项目默认设置继承", 然后在最上方添加红框中的5条路径,点击确定。
5.对于lib环境变量的编辑,保留勾选"从父级或项目默认设置继承", 然后在最上方添加红框中的1条路径,点击确定。
6.至此完成环境变量的重配工作,重新编译运行就正常了。
对于为什么之前的环境变量无法应用,网上普遍反映是VS2015中的一个Bug,而且我发现如果是选择"从父级或项目默认设置继承"时,在Windows Kits/10/include 和 Windows Kits/10/lib 目录下导入的是10.0.10240.0文件夹,但是我的本机目录下是10.0.10150.0文件夹,这是不一致的,这有可能导致了环境变量的配置错误,所以以上这种手工的配置方法是没问题的。
以上是关于解决VS2015安装后stdio.h ucrtd.lib等文件无法识别问题的主要内容,如果未能解决你的问题,请参考以下文章
VS 2015 C++ Cannot find corecrt.h and cannot open file ‘ucrtd.lib‘
为啥我安装的vs2010旗舰版安装后连头文件都不能识别呢?如:头文件#include<stdio.h>都不能识别?