Build x64 on an XP 32 bit machine

I am trying to build an x64 CUDA project on a 32 bit machine. I’m running XP 32, using VS2008 with CUDA 2.1. I have installed the 64bit toolkit, and then replaced the .exe files with the ones from the 32 bit toolkit (so they would run). I think I have set everything up correctly, but I am getting the error “fatal error LNK1112: module machine type ‘X86’ conflicts with target machine type ‘x64’”.

Is there some special switch for the nvcc compiler? I have already tried adding the x64 path $(VCInstallDir)bin\x86_amd64 after -ccbin.

Has anyone tried to do this? With any success? Is it even possible? I worry about the dependency on KERNEL32.dll, which may be the problem. If so, is there some workaround?

Thank you for your help.

right key->properties->advanced->Target Machine->…

Every project in the solution already has the target machine set to /MACHINE:X64, if that’s what you meant.

yes, do you have try?

right key on the project --> properties-> linker --> advanced -> Target Machine …here~~~

Does it say anything about which module this is?

No, “fatal error LNK1112: module machine type ‘X86’ conflicts with target machine type ‘x64’” is all I get. I’m actually giving this up, as I will hopefully soon have a 64 bit development platform. If I do figure it out, I’ll post my solution here.

Check out this thread:

Yeah, I don’t think there’s a (clean) way to do it now, but this will be fixed. (If you are a demi-god of Windows scripting, you can probably hack some kind of vcvars.bat that dynamically sets PATH correctly, but that sounds really painful.)

Please support build 64bit application on 32bit windows as VS did. It’s painful have to install a windows 64bit for just build it.

Yeah, most annoying it is indeed. So when will it be fixed, tmurray?