So Visual Studio is an interesting point...

My embedded ARM development environment sits on Visual Studio 10.
Visual C++ uses Visual Studio (of course, supporting your 'boxed in' feelings).

I just didn't want to go off the reservation and it seemed like the MinGW was the way.

as a fun aside, my ARM dev environment uses gcc under Visual Studio as the cross-compiler.

Bob