views:

517

answers:

3

I get the following message in a VC6 project compile:

OTE: WINVER has been defined as 0x0500 or greater which enables Windows NT 5.0 and Windows 98 features. When these headers were released, Windows NT 5.0 beta 1 and Windows 98 beta 2.1 were the current versions. For this release when WINVER is defined as 0x0500 or greater, you can only build beta or test applications. To build a retail application, set WINVER to 0x0400 or visit http://www.microsoft.com/msdn/sdk to see if retail Windows NT 5.0 or Windows 98 headers are available. See the SDK release notes for more information.

Any idea what is going on?

It builds and links fine.

I have VC6, VS2005 and 2008 on my XP machine.

Perhaps my Platform SDK is not up to date?

A: 

Or VC6's include path doesn't include your SDK and it's only using the ones that came with VC6.

Tony Lee
+1  A: 

The warning message you're seeing is from the Platform SDK that was supplied with the Visual C++ 6.0 installation, which it seems dates from when Windows 2000 was in beta.

If your application requires WINVER to be 0x0500, and you still need to use Visual C++ 6.0, I would recommend that you install a more recent Platform SDK. According to this blog post, the most recent Platform SDK that is compatible with Visual C++ 6.0 is the February 2003 edition. (There's another post here that may be useful.)

A word of caution, though - I don't know whether the February 2003 Platform SDK will coexist with your Visual Studio 2005 and 2008 installations.

ChrisN
A: 

Did you installed the latest VC6 Service pack?

Hapkido