I am experiencing the same trouble, but am working with code in C. I have had some luck narrowing down the problem. I just started using VisualStudio a few days ago and only learned C a week ago, so please forgive me if my understanding of everything is not 100% correct.
NVCC requires a host compiler to operate. VisualStudio is the preferred host compiler; I am not sure if others are supported. The cl.exe referred to in this error is the executable file generated by VisualStudio. This file needs to be located in the same execution path as the NVCC compiler (it can be called from a different location with a little more work). My understanding gets a little sketchy at this point.
The only executable generated by VS when the code is compiled is one by the same name as the source code with .exe suffix. I am not sure where the cl.exe is located. You might want to check out this link, it has a brief but helpful description of how the NVCC compiler functions: http://neuralnetoff.umn.edu/mediawiki/index.php/CUDA.
I have tried uninstalling/reinstalling the CUDA software several times but the sample codes work fine so I don’t think that is the problem for me. My guess is that the way we are implementing our codes is not correctly using the NVCC compiler.
Like I said, I am working on fixing this problem myself so I don’t have much more to offer. Hopefully this information can get one of us a step further. I’ll keep you posted on any developments.