Re: error 2039: 'hash_map' is not a member of 'std'
On Wed, 26 Jul 2006 13:42:26 +0800, "Smith" <tap05@126.com> wrote:
I have an old VC++ projects, when compiled in VS2005, thousands of errors
occured, such as :
WINVER not defined. Defaulting to 0x0502 (Windows Server 2003)
error 2039: 'hash_map' is not a member of 'std'
......
Is there any ease way to transfer old VC projects to VS2005?
This will explain the hash_map mystery:
The stdext Namespace
http://msdn2.microsoft.com/en-us/library/ek139e86.aspx
As for the WINVER problem, that is an MFC message, and it's issued by
afxv_w32.h:
#ifndef WINVER
#ifdef _WIN32_WINNT
#define WINVER _WIN32_WINNT
#else
#pragma message(" WINVER not defined. Defaulting to 0x0502 (Windows Server
2003)")
#define WINVER 0x0502
#endif
#else
....
The property pages for a default MFC project don't define either macro, but
there's always stdafx.h to consider, and there, among other things, I find:
// Modify the following defines if you have to target a platform prior to
the ones specified below.
// Refer to MSDN for the latest info on corresponding values for different
platforms.
#ifndef WINVER // Allow use of features specific to Windows XP
or later.
#define WINVER 0x0501 // Change this to the appropriate value to
target other versions of Windows.
#endif
#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP
or later.
#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to
target other versions of Windows.
#endif
--
Doug Harrison
Visual C++ MVP