So, in some libraries I'm creating I needed to mix in some engine based code (my Wanton codebase) into the editor. It's fairly native C/C++ code. As soon as I included it, I got the following error:
Very odd, to say the least. Here's how I was invoking the headers:
I've had issues in the past where the 'using' statement caused me grief, so I figured I'd move my header declarartions above them, a la:
Lo and behold, that did it (compiles and runs fine).
Digging around the net brought up this little gem:
The short and sweet of it?
If you add using namespace System::Windows::Forms; before including
Visual C++ will be confused because IDataObject is also a managed interface in System::Windows::Forms. You can relegate windows.h declarations to a lower namespace:
};and reference windows.h symbols with the Win32 namespace prefix, or move all using statements from .h to .cpp and add a namespace prefix when an ambiguous symbol is used.
Just something I thought I would share with the populace at large.