总结: C++(MFC)常见编译异常的处理方法

** C++(MFC)常见编译异常的处理方法**
(我用的是VS2013)
1.解决error C4996:this function or variable may be unsafe
项目>属性>C/C++>预处理器>预处理器定义:(添加如下)
;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE

2.error C4996 被声明为已否决
项目>属性>C/C++>常规>SDL 检查>否(/sdl-)

3.无法为控件添加变量的问题未找到原因,在类向导中添加会报错;

4.error LNK2019:无法解析的外部符号,error LNK1120:1个无法解析的外部命令
一般可能是使用了的变量或函数没有被定义;

5.error RC2108:expected numerical dialog constant(资源视图中显示在另一个编辑器中打开)
双击错误,添加: “Static”,SS_BITMAP;然后关闭此文件,重新展开资源视图

6.error C2665:重载中没有一个可以转换所有参数类型
error C2664:无法将参数1从"const char"转换成"LPCTSTR"
error C2664:无法将参数2从"LPCTSTR"转换为"const char *"
项目>属性>常规>字符集>使用多字节字符集

7.error C2065:未声明的标识符—>可能是两个头文件相互包含了

8.error C4996: ‘access’:The POSIX name for this item is deprecated.Instead,use the ISO C++ conformat name.
项目>属性>C/C++>预处理器>预处理器定义:(添加如下)
;_CRT_NONSTDC_NO_DEPRECATE

9.error C2440: “static_cast”: 无法从“void (__thiscall ClientDlg:? )
这是由VC6.0升级至VS2005以上平台均会遇到这种情况;
解决方法:把原来的消息函数返回值类型改为LRESULT,函数内可以随便写个return TRUE;
然后消息函数的参数必须改写成(WPARAM wParam,LPARAM lParam)而不论这两个参数是否用得到;
最后,消息映射如ON_MESSAGE(WM_message,& OnMyMessage)

10.VS2013断点单步调试错误—未加载mfc120ud.i386.pdb
工具>选项>调试>符号->选中"Microsoft符号服务器"即可。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值