Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

D_WIN32_WINNT compiler warning with Boost

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.

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.

like image 505
bobber205 Avatar asked Jun 08 '10 18:06

bobber205


4 Answers

Add following line in your top source code.

#include <SDKDDKVer.h>
like image 164
Hill Avatar answered Nov 03 '22 19:11

Hill


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.

like image 23
foven Avatar answered Nov 03 '22 18:11

foven


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 to Project Properties > Configuration Properties > C/C++ > Proporcessor. Add ;_WIN32_WINNT=0x0501 to Preprocessor Definitions.

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.

like image 20
John Dibling Avatar answered Nov 03 '22 19:11

John Dibling


Put a space after the D

like image 3
Hans Passant Avatar answered Nov 03 '22 17:11

Hans Passant