I’m having trouble compiling cuda samples with VS 2017 15.6.4 and Cuda 9.1 installed. I modified my cuda 9.1.props file to point VCBinDir to the HostX64 instead of the HostX86 directory, and when i try to compile, I get the above error.
Bear with me. I don’t care if this isn’t the right thing for me to do, what I want to understand is WHY cuda (nvcc) cares about the ccbin being different than “the cl in the PATH”. Especially since the cl.exe on my path DOES point to exactly the same place. If I open up a x64 VS Command Window and type “where cl.exe”, it’s location is in exactly the same path as the one that ccbin computes to.
1>C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.1_Graphics\marchingCubes>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin\nvcc.exe" -gencode=arch=compute_30,code=\"sm_30,compute_30\" -gencode=arch=compute_35,code=\"sm_35,compute_35\" -gencode=arch=compute_37,code=\"sm_37,compute_37\" -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode=arch=compute_52,code=\"sm_52,compute_52\" -gencode=arch=compute_60,code=\"sm_60,compute_60\" -gencode=arch=compute_61,code=\"sm_61,compute_61\" -gencode=arch=compute_70,code=\"sm_70,compute_70\" --use-local-env --cl-version 2017 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio017\Enterprise\VC\Tools\MSVC4.13.26128\bin\HostX64\x64" -x cu -I./ -I../../common/inc -I./ -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\/include" -I../../common/inc -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\include" -G --keep-dir x64\Debug -maxrregcount=0 --machine 64 --compile -cudart static -Xcompiler "/wd 4819" -g -DWIN32 -DWIN32 -D_MBCS -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /FS /Zi /RTC1 /MTd " -o x64/Debug/marchingCubes_kernel.cu.obj "C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.1_Graphics\marchingCubes\marchingCubes_kernel.cu"
1>nvcc fatal : Compiler 'cl.exe' in PATH different than the one specified with -ccbin
1>C:\Program Files (x86)\Microsoft Visual Studio017\Enterprise\Common7\IDE\VC\VCTargets\BuildCustomizations\CUDA 9.1.targets(707,9): error MSB3721: The command ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin\nvcc.exe" -gencode=arch=compute_30,code=\"sm_30,compute_30\" -gencode=arch=compute_35,code=\"sm_35,compute_35\" -gencode=arch=compute_37,code=\"sm_37,compute_37\" -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode=arch=compute_52,code=\"sm_52,compute_52\" -gencode=arch=compute_60,code=\"sm_60,compute_60\" -gencode=arch=compute_61,code=\"sm_61,compute_61\" -gencode=arch=compute_70,code=\"sm_70,compute_70\" --use-local-env --cl-version 2017 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio017\Enterprise\VC\Tools\MSVC4.13.26128\bin\HostX64\x64" -x cu -I./ -I../../common/inc -I./ -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\/include" -I../../common/inc -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\include" -G --keep-dir x64\Debug -maxrregcount=0 --machine 64 --compile -cudart static -Xcompiler "/wd 4819" -g -DWIN32 -DWIN32 -D_MBCS -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /FS /Zi /RTC1 /MTd " -o x64/Debug/marchingCubes_kernel.cu.obj "C:\ProgramData\NVIDIA Corporation\CUDA Samples\v9.1_Graphics\marchingCubes\marchingCubes_kernel.cu"" exited with code 1.
1>Done building project "marchingCubes_vs2017.vcxproj" -- FAILED.