Visual-studio – Configuring 64-bit compilation inside Visual Studio 2008 Express Edition (VS2008EE)

64-bitvisual studiovisual-studio-2008-sp1

I am making an attempt at building 64-bit native C++ applications under Visual Studio 2008 Express Edition Service Pack 1 (with some relevant Windows SDK(s) installed afterwards), in the IDE and from the command line. This is on a Windows XP Professional x64 Edition Version 2003 Service Pack 2 machine.

I know that the Professional versions might provide true VS IDE integration, but I'm specifically looking to do this from within Visual Studio 2008 Express Edition.

But, I'm having a bit of trouble in the project configuration in the Visual Studio 2008 Express IDE, and am hoping someone can answer what might be the problem. The key goal is to be able to build 64-bit native apps from within the IDE itself, as well as from the command line by executing batch files like vcvarsall.bat or similar batch file.

Here is what I tried so far:

I installed Visual Studio 2008 Express Editions with SP1, which installed some type of SDK, but I believe not the right one containing 64-bit compilers (but didn't know it at the time).

I built a hello world Win32 Console app, and looked in the manifest file that was generated for the executable. I found "x86" in that manifest file, which is not 64-bit AFAICT, so I did more research.

I found What is “missing” in the Visual Studio 2008 Express Editions?. I saw some replies, one of which was has a list of missing features which has "64-bit Visual C++ Tools" as one of those missing features.

But, on the wikipedia entry we see:

True integration of 64bit compilers to the Visual C++ 2008 Express Edition is possible, but remains cumbersome. 9

So, I tried the instructions in that 9 link given above. That link actually refers to How to: Configure Visual C++ Projects to Target 64-Bit Platforms. I walked through the steps on that page, but got to the point where they instruct you to do the following:

Click the Type or select the new platform drop-down arrow, and then select a 64-bit platform.

But there are no entries in the drop down.

I referred again to the SDK page on Wikipedia, specifically the 64-bit development section, which states:

The most recently released Windows SDK for Windows Server 2008 and .NET Framework 3.5 contains the updated x86, x64 and Itanium (IA-64) Visual Studio 2008 compilers.

So Googling/MSDN'ing around a bit for "Windows SDK for Windows Server 2008 and .NET Framework 3.5" landed me at the Which SDK do I install? page. From that page I see Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 Service Pack 1 released on Aug-09 since it is the most recent one. Its release notes seemed to imply that it contained 64-bit compilers at least, but didn't explicitly state that it patched the Visual Studio IDE to provide a way to select x64 targets, and that is what I'm after.

I tried the How to: Configure Visual C++ Projects to Target 64-Bit Platforms instructions again, and got the same empty drop-down list.

So I thought then that the compilers aren't installed, so I tried executing the vcvarsall.bat amd64 command, and ran into the bug described at More VS2008 and Windows SDK Server 2008 problems.

Even if I hack the vcvarsall.bat batch file to get command-line builds working, will the IDE still be "crippled" by not being able to configure Visual Studio projects to build using the 64-bit compiler?

Thanks!

bg

Best Answer

Short!

Windows SDK for Windows 7 and .NET Framework 3.5 SP1

AND

http://jenshuebel.wordpress.com/2009/02/12/visual-c-2008-express-edition-and-64-bit-targets/