Strange, that doesn't look like something Clang should have a problem with. I'm currently trying to install GCC 4.8 on my Mac; if I succeed, I can try this out.
It's all really just one error, occurring multiple times and dragging a host of subsequent errors along.
C:\Program Files\MinGW\lib\gcc\x86_64-w64-mingw32\4.8.0\include\c++\bits/alloc_traits.h:57:35: error: in-class initializer for static data member is not a constant expression
static const bool __value = _S_chk<_Alloc, _Tp>(nullptr);
For some reason, it doesn't recognize the constexpr call _S_chk<_Alloc, _Tp>(nullptr) as constant, which causes an error. This error is triggered ultimately from vector's attempt to rebind the allocator you passed to the type you passed (to protect itself from stupid people writing vector<double, allocator<int>>). So allocator_traits<Alloc>::rebind<double>:ther fails to instantiate, and the compiler attempts to recover by making the result int and moving on. But now vector uses 'int' as its allocator type, which causes all sorts of errors when it subsequently attempts to access allocator's various nested types.
This occurs once for every vector instantiation, and your program includes two, both somewhere in the RNGs that you presumably use (or at least include).
Edit: Also, I have no idea if this would help this problem, but you will probably have to play with the target triple, if only to get things to link. I believe a VS-built Clang defaults to its incompletely emulated Microsoft ABI, which means all the mangling would be different from the MinGW libstdc++.