views:

315

answers:

2

Hi, 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 nmake scripts.. The downside to this is that nmake looks very poor. The example towards the end of this tutorial suggests that nmake cannot figure out source file dependences itself, and I don't know of anything equivelant to gcc -M 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 toolchain.

+2  A: 

You can use makedepend as an alternative to gcc -M. Here's a primer on this and other methods of generating dependencies.

You could also give the autoconf+automake combo a try, though it requires some work to make it use MSVC's compiler. Some have succeded at doing this.

Eduard - Gabriel Munteanu
A: 

If you want to use the Windows SDK compiler with GNU make or another build system, you could write a program/script that converts the output of cl.exe /showIncludes into a format that is compatible with your build system.

bk1e