Debug Assertion Failed!【hlp】

vs2008中调试一个多目标跟踪程序的时候,遇到过此问题,在release下回忽略此问题,在release版本下不用关心这个问题,也就是系统帮你给屏蔽了,但是问题还是存在的,在debug环境下,报这样的错误。


Debug Assertion Failed!【hlp】_第1张图片

错误原因:

这段代码本来没错,错在平台上。

nm.cbSize = sizeof (NONCLIENTMETRICS) ; 这个是低版本,通常所说的0x0501。低于系统与VS编译器2个版本(VS2008/VS2010)的,就会出问题。

解决方法:

就在stdafx.h中

#pragma once

#ifndef _SECURE_ATL
#define _SECURE_ATL 1
#endif

#ifndef VC_EXTRALEAN
#defineVC_EXTRALEAN           // // Exclude rarely-used stuff from Windows headers
#endif

这个语句的后面加上以下几句:

#ifndefWINVER    //允许使用特定于 Windows XP 或更高版本的功能。
#define WINVER 0x0501  //将此值更改为相应的值,以适用于 Windows 的其他版本。
#endif

#ifndef _WIN32_WINNT  //允许使用特定于 Windows XP 或更高版本的功能。
#define _WIN32_WINNT 0x0501 // 将此值更改为相应的值,以适用于Windows 的其他版本。
#endif  




你可能感兴趣的:(Debug Assertion Failed!【hlp】)