C2086: 'int WINGDIAPI' : redefinition errors in Open Scene Graph?

Nav picture Nav · Apr 12, 2012 · Viewed 7.8k times · Source

I've solved this problem (from here). Just putting it here, so that anyone else who encounters the error will find a cleaner question and answer than to have to go dig through the website where I got it from. I'll be answering this question soon myself.

The errors encountered are:

Error 13 error C2086: 'int APIENTRY' : redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\GL\gl.h 1153  
Error 10 error C2086: 'int WINGDIAPI' : redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\GL\gl.h 1153   
Error 3 error C2144: syntax error : 'void' should be preceded by ';' C:\Program Files\Microsoft Visual Studio 10\VC\include\GL\gl.h 1152 

Answer

Nav picture Nav · Apr 12, 2012

The solution is: [Obtained from this website]

You need to add WIN32 to the defines in your project. In Visual Studio, right-click on your project, go to C/C++, Preprocessor, and in the Preprocessor Definitions field add WIN32 for both debug and release configurations. While you're at it, also add _DEBUG for the debug configuration and NDEBUG for the release configuration...
For some reason the default VS projects have no preprocessor definitions, even though these, at least, should almost always be used...