关于VS +CUDA9.1编译出现MSB3721error。

时间:2024-05-23 19:34:31

新手安装CUDA,踩坑无数次。
写下来提醒自己下。

1.检查电脑GPU配置
(1) 首先建议下一个 GPU-Z 查询电脑是否有CUDA编程能力。
(2) 打开 控制面按-> (右上角类别换成 )小图标 ->NVIDIA控制面板(打开有点慢,自用机垃圾)->(左上角)帮助 -> 系统信息 ->组件
(3) (蓝标)NVIDIA CUDA 后的数字就是要下的版本号。
关于VS2017 +CUDA9.1编译出现MSB3721error。
2.建议下CUDA之前下好VS
!!!切记不要盲目下最新的VS!!!
!!!切记不要盲目下最新的VS!!!
!!!切记不要盲目下最新的VS!!!(重要的事说三遍)
根据你的GPU显卡下的CUDA是英伟达公司(老板祖籍*)搞的,总比Microsoft搞的Visual Studio慢点,因此你下的CUDA很大可能不支持最新的VS开发环境。本人用的CUDA v9.1, VS用的2017版,同时下了2015(v140)版本,CUDA v9.1最高只支持到v140.
https://github.com/PointCloudLibrary/pcl/issues/2177(这里查看)
关于VS2017 +CUDA9.1编译出现MSB3721error。
3.CUDA的下载。就按我之前说的依照你的GPU支持的下。
建议到官网去下(只要不收费我都在官网下)。这里我下的是CUDA v9.1。
安装有两种一种是local包(一次性下好,前期加载慢),一种是internet包(安装的时候下,加载快点)。有博主说net包下的快,我自己试的是local包。
安装的时候一般全点默认就行(那你运气是真的好)。
一般安装失败有两种,一种是全部安装失败,一种是Visual Studio Integration安装失败。
PS:我自己就是踩了两边的坑

这里可以重新安装CUDA(安装包别删),选 ->自定义安装.①全选,点安装
②别点Visual Studio Integration,先装其他的,之后再单独装Visual Studio Integration(这种没试过,我看有博主这么写的)

4.环境的配置网上有很多教程。
https://blog.****.net/u013165921/article/details/77891913
5.VS运行
前面弄好后打开VS2017,新建->项目,可以看到多粗来一个新的NVIDIA,那么恭喜!

  1. 直接建一个CUDA version Runtime项目是建一个自动生成CUDA配置开发的项目,
  2. 新建一个C++空项目则需要手动配置参数
    https://blog.****.net/geduo_feng/article/details/101100202

6.尝试运行第一个CUDA项目时经常报错
像:error:MSB3721"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\bin\nvcc.exe" *******已退出,返回代码 2. 之类的错误

我看了好几篇博文,这里有几个注意点,
一是我之前说过的CUDA不匹配VS版本,在 配置属性->项目属性->常规->平台工具集,中换成下好的低版本
二是.有博主说 目标平台版本 不匹配。(没遇到过这个问题)。

三.
如果运行时还有MSB3721错误,先打开以下网址,看看 nvcc -flag 是否匹配
https://github.com/tpruvot/ccminer/wiki/Compatibility

在 配置属性->CUDA C++ -> Device ->(修改)Code generation
本人是GoForce GTX 960M,改成compute_30,sm_30;compute_50,sm_50。

运行通过。