您的位置:首页 > 其它

TryEnterCriticalSection: identifier not found

2012-02-29 16:25 746 查看
原因:虽然包含了windows.h,但未定义_WIN32_WINNT。

因为在winbase.h (包含在windows.h中) 中, TryEnterCriticalSection只有定义了_WIN32_WINNT 且 _WIN32_WINNT>= 0x0400 时才会被定义。所以解决方法是在编译选项中加入 /D "_WIN32_WINNT=0x0500"。

附:_WIN32_WINNT 与 windows 版本的对应关系

_WIN32_WINNTWindows 版本
0x0500Windows 2000
0x0501Windows XP
0x0502Windows Server 2003
0x0600Windows Vista
0x0601Windows 7
Reference:

1. 修改WINVER和_WIN32_WINNT: http://msdn.microsoft.com/zh-tw/library/6sehtctf.aspx
2. TryEnterCriticalSection function: http://msdn.microsoft.com/en-us/library/windows/desktop/ms686857(v=vs.85).aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: