I have a C++ project that I've been developing in Microsoft Visual C++ 2008 Express Edition. It has come to the point that I'd like to port to 64-bit and continue development.

**What is the best way to do this using free software?**

---

*My thoughts so far:*

The Express Edition of MSVC doesn't come with 64-bit compilers, so I can install the Windows SDK to get these. I could then port my project files to `nmake`, and use the IDE just as a tool to debug and invoke my `nmak`e scripts.. The downside to this is that `nmake` looks very poor. The example towards the end of [this tutorial](http://web.sau.edu/lilliskevinm/csci240/masmdocs/envtools/26LMAETC16.pdf) suggests that `nmake` cannot figure out source file dependences itself, and I don't know of anything equivelant to [`gcc -M`](http://make.paulandlesley.org/autodep.html#gcc) that I could use.

Another option might be to use `vcbuild` from the Windows SDK to produce 64-bit builds from my existing `vcproj` files. Preliminary investigations show that this doesn't really work, as my project files don't have the 64-bit configurations present. (Perhaps I could fudge this by adding the 64-bit configurations to the vcproj files in a text editor.)

A final option might be to give up on MSVC, and port my project to the [MinGW/MSYS](http://www.mingw.org/) toolchain.