The solution for the particular error that you're getting is trivial, looking at iostream, you see that you have to add: #define _GLIBCXX_USE_WCHAR_T 1
Unluckily, this does not help you a lot, because then you will get unresolved symbols while linking. You will also need a glibc++ that is compiled with this constant (AFAIK there is no such version coming with MinGW).
But... have you tried simply using cout instead? Wide characters are just normal bytes, after all. A few more of them, but still only bytes. If you push a wide string onto cout, it should still get somewhere... or so I guess?