> Secondly I notice the files have long prefixes in the c:\mingw\bin
> directory, for example "x86_64-pc-mingw32-c++filt.exe", I
> also notice there are more bins in C:\mingw\x86_64-pc-mingw32\bin, such as
> g++

That's because this is a cross compiler.  Those prefixes let you know
what the given binary targets, which is different from the host.

> I tried out that g++ but I got:
> "g++.exe: CreateProcess: No such file or directory"
> I don't think mingw and msys work well on WoW all together, at least in my
> experience, the 32 stuff has to be run on a 32 but OS, and vice versa for 64
> bit.

The Win32 one is old.  I'm trying to update it now, but it won't be
immediate.  The build process is clunky (I'm working on that, too).
Do you have a linux machine handy?  Or linux in vmware?

Yes I have a linux64 installed, and a linux32 running on the linux64 through vmware.

> No, that's the whole point of WoW: you can run Win32 executables on Win64.
> Running the Win32 cross compiler on Win64 works fairly well, I was told (by Fortran
> users; I don't know about g++).

I realise, but my experience still hasn't been so good running the mingw 32 bit binaries on xp 64 bit.

> For your issue, you should try running the compiler with its full path:
> "C:\foo\bar\bin\g++.exe myfile.cpp". It helps the buggy GCC driver.

Thanks, I've just tried, but I'm still getting:

g++.exe: CreateProcess: No such file or directory