使用VS2012 MFC自定义消息时,处理函数不能返回void类型。

VS2012(据说从VS2008就这样了)自定义消息时,如果消息返回类型为void,会报下面错误:

无法从“LRESULT (__thiscall 转换为“LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)

这是因为VS2012要求返回类型不能为void,必须为LRESULT类型。把消息处理函数返回类型改为LRESULT即可。

提示:无法定位程序输入点InitializeCriticalSectionEx于动态链接库 KERNEL32.dll 上。

1.更新VS:http://www.microsoft.com/zh-cn/download/details.aspx?id=39305

2.设置静态编译:

项目——属性——配置属性——常规——平台工具集——Visual Studio 2012 - Windows XP (v110_xp)
项目——属性——配置属性——常规——MFC的使用——在静态库中使用 MFC
项目——属性——配置属性——常规——ATL的使用——静态链接到 ATL


你可能感兴趣的:(C++,mfc,VC,vs2012,vs2008)