views:

104

answers:

3

Not sure what to make of this error. Added -D_WIN32_WINNT=0x0501 to Visual Studio's "Command Line" options under Project Properties but it says it doesn't recognize it and the warning still appears. I am also not sure how to add the Preprocessor Definition. :)

Thanks for any help!

1>Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. For example: 1>- add -D_WIN32_WINNT=0x0501 to the compiler command line; or 1>- add _WIN32_WINNT=0x0501 to your project's Preprocessor Definitions.

+1  A: 

Put a space after the D

Hans Passant
A: 

A few options.

1) If you have a main header file, like stdafx.h, you could add this:

#define _WIN32_WINNT = 0x0501

Or you could add that anywhere you need it.

2) You can add -D _WIN32_WINNT=0x0501 (note the space)

3) Go in to your project's settings (ALT-F7 on my machine). Under the Configuration Properties>C/C++>Proporcessor heading, add ;_WIN32_WINNT = 0x0501.

Personally, I choose #3 because there's no doubt about it being defined at the right time in the right translation units, and I'd rather have all the #defines in one place rather than some being in Preprocessor Defines and others in the advanced tab.

John Dibling
Below is an exact paste of what is in my #3). Still getting that error. :(WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT = 0x0501
bobber205
A: 

I think you're really close to getting this to work. John Dibling gave three ways you could do this and it looks like you tried the third solution, which was to "go in to your project's settings ... and under the Configuration Properties->C/C++->PreProcessor heading, add ;_WIN32_WINNT = 0x0501". You replied that you were still getting that error and provided the contents of your preprocessor settings, WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT = 0x0501. I think you can solve this if you change _WIN32_WINNT = 0x0501 to _WIN32_WINNT=0x0501. When I tried the version with spaces, it did not eliminate the error, but removing the spaces did.

foven