C++ – Visual Studio 2008 sp1 vc++ project works in 32 bit mode, but not 64 bit

64-bitcvisual-studio-2008x86

I have a project that runs perfectly well under windows 7, x86 installation. On the same machine, but in a different drive, I've installed windows 7, x64, and visual studio 2008 sp1 on both.

The project compiles and runs under win32. When I try to compile the project under x64, I get nothing, and everything gets 'skipped'. Furthermore, when I try to get the properties of anything under the 64 bit version, the operation fails with an 'unspecified error'. On the 64 bit side, I can switch to the win32 build target, watch it work, and then try to switch to the x64 bit side, and then clench my teeth in frustration. If I try to do a batch build for every configuration, again, total failure unless I just do win32 projects.

I've seen this project work on someone else's machine, so I know that it works in 64 bits, but for some strange reason, this project just doesn't work for me.

I've tried to run

devenv /resetskippkgs

as per this suggestion here, but there's no love.

Any help is appreciated…

EDIT from Pavel's suggestion, I tried to run using

vcbuild /platform:x64

and I get the error:

vcbuild.exe : warning VCBLG6001: Project 'project.proj' does not support platform 
'x64', or the platform support DLL for this platform is not installed.

That help? Does visual studio not automatically Do The Right thing when installed?

Best Answer

The solution! Posted because I lost so much time to this, and I'd hope that someone else does not similarly lose time (otherwise, I'd just delete the question).

Apparently, the visual studio 2008 installer declined to install the x64 compiler tools by default on my machine. I don't know if that's because I'm on an AMD machine and there's some question about running on that processor, or just someone made a mistake, or what, but once I checked what had been installed by visual studio, I found the glaring red 'x' indicating that the x64 compiler was not installed. ARM, yes, x64, the processor I'm using, no.

So, adding that processor option back seems to have restored the universe to its rightful place.