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?
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.
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.)