转载自:http://blog.csdn.net/carl_qi/article/details/51171280windows
今天忽然想在windows上装个 VS2015 玩玩,结果遇到了以下bug:.net
安装完 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文件夹,这是不一致的,这有可能致使了环境变量的配置错误,因此以上这种手工的配置方法是没问题的。