VS2015编译器问题简单记录整理

来源1:https://www.cnblogs.com/youyoui/p/5720719.html

来源2:https://blog.csdn.net/Carl_Qi/article/details/51171280#commentBox

 

问题:VS2015安装后stdio.h ucrtd.lib等文件无法识别问题,即include+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文件夹,这是不一致的,这有可能导致了环境变量的配置错误,所以以上这种手工的配置方法是没问题的。

 

 

 

问题:VS2015community 无法查找或打开 pdb 文件

解决办法:

1.点击工具->选项, 在选项窗口中展开左侧菜单;

2.展开调试->常规,然后在右边的窗格中勾选“启用服务器支持”;

3.然后展开调试->符号,勾选“Windows符号服务器”,弹出的警告对话框,点击“确定”关闭选项窗口;

4.F5,或者点击“本地Windows调试器”调试运行程序,第一次运行该程序时,会从Windows服务器上下载相关的符号集,这需要一点时间;

5.随后,程序启动,就不会报这些问题了。

 

问题:VS2015communityF5调试程序时闪退

解决办法:

1.使用Ctrl+F5快捷键,或者选择调试->开始调试(不执行);

2.在程序入口main()函数的return语句之前加上getchar();

3.在程序入口main()函数的return语句之前加上system("pasue");

4.更改项目配置:项目->属性->配置属性->链接器->系统->子系统->控制台 增加“/SUBSYSTEM:CONSOLE”链接选项就可以了(该方法有时候没有用)。

 

问题:VS2015community 添加单元测试时,报很多无法解析的外部符号错误

解决办法:

邮件测试项目,属性->链接器->输入->附加依赖项,编辑,添加构建项目的Debug项目下的obj文件就可以了。

../PoCreate/Debug/PoCreate.obj
../PoCreate/Debug/DirGenerate.obj
../PoCreate/Debug/MsgidGenerate.obj

 

问题:VS2015community F9添加断点时,提示:当前不会命中断点 还没有为该文档加载任何符号

解决办法:

右键项目,选择重新生成就可以了

 

问题:VS2015community 文件的编码怎么转换

解决办法:

选择文件菜单下,高级保存选项,然后选择相应的编码就可以了。不过这样只能一个一个文件慢慢转换。

 

问题:VS2015community 打了断点,但是调试的时候断点没有生效

解决办法:

把文件的编码格式设置为Unicode,保存为UTF-8就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值