VS2008常见编译错误(总结篇)

错误1:fatal error C1853: “Debug\mydll.pch”预编译头文件来自编译器的早期版本

项目中混合了 .cpp 和 .c 文件时,编译器会对它们采取不同的编译方式(主要是因为对函数声明的处理方式不同),因而不能共用一个预编译头文件。
在 VC++ 中,默认的预编译头文件是针对 C++ 的 (stdafx.h 和 stdafx.cpp),当然也可以创建针对 C 的预编译头。


方法:将少数的不同类文件设为不使用预编译头是比较平衡的做法。

具体:Vs2008  项目-- 属性-- 配置属性—C/C++ -- 预编译头 –创建使用预编译头 – 选择不使用。


错误2:error C2440: “static_cast”: 无法从“void (__thiscall CMyPosDlg::* )(void)

原因:高版本的VS对语言要求更加严格

方法:修改两处--添加返回类型和 传递参数  

消息响应函数声明:LRESULT afx_msg OnMyOffdutyMessage(WPARAM wParam,LPARAM lParam);

消息响应函数定义: 修改返回类型为LRESULT, 程序内部返回 TRUE

LRESULT CPosDlg::OnMyCheckMessage(WPARAM wParam,LPARAM lParam)

{

return TRUE;

}

红色字体为需要添加的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值