错误 1 error MSB3721: 命令"&#C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin\nvcc.exe"

错误 1 error MSB3721: 命令““C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin\nvcc.exe” -gencode=arch=compute_20,code=“sm_20,compute_20” -gencode=arch=compute_30,code=“sm_30,compute_30” -gencode=arch=compute_50,code=“sm_50,compute_50” --use-local-env -ccbin "C:\Program Files

问题产生的原因:

sm_XX,compute_XX:表示自己电脑显卡的计算能力,显卡越好值越高,自己显卡对应的值可以查看英伟达官网

由于自己电脑显卡有好有坏,对应的sm_XX,compute_XX值也不一样,出现上述错误的原因主要是当前运行的程序里的sm_XX,compute_XX值选取不当。如下图是我自己程序中设置sm_XX,compute_XX的值。
错误 1 error MSB3721: 命令"&#C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin\nvcc.exe"
解决办法

根据自己电脑显卡的计算能力,选择合适的sm_XX,compute_XX值。

例子

比如我用VS编译器在运行自己程序时,出现如下错误。
错误 1 error MSB3721: 命令"&#C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin\nvcc.exe"
点击“否”选项后,程序报错,如下:
错误 1 error MSB3721: 命令"&#C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin\nvcc.exe"
根据上面红色方框处的提示,我删除了sm_20,compute_20部分,如下图,之后再运行程序时,程序运行正常。

错误 1 error MSB3721: 命令"&#C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin\nvcc.exe"

当然如果自己程序里的sm_XX,compute_XX值设置过高而产生错误,删除较高的sm_XX,compute_XX即可。