今天更新lvs2017至15.9.5后 出现了cuda编译报错无法成功的问题。参考网上讨论,主要原因还是cuda不支持更新后的vs2017编译器。解决方法分为两步:
1针对版本不匹配的报错
#error: -- unsupported Microsoft Visual Studio version! Only the versions 2012, 2013, 2015 and 2017 are supported!
在host_config.h文件中的135行 _MSC_VER > 1911 中的 1911 改为 1920 (这个数字是参考后改的,理论上只要比你的版本高就行了),再次编译该问题即可解决
2 针对其它的报错
需要下载用于桌面的 VC++ 2015.3 v140 工具集(x86,x64)。通过打开Visual Studio Installer,点击"单个组件" -> "编译器、生成工具和运行时" -> "用于桌面的 VC++ 2015.3 v140 工具集(x86,x64)",点击进行安装,重新打开所要编译的cuda项目,并在右键点击"常规" -> "常规" -> "平台工具集" 选择 "Visual Studio 2015 (v140)",同时将目标平台版本修改至10.0.17763.0(目标版本必须修改,只修改平台工具集或者目标平台版本是10.0.15063.0 还会报windows SDK不匹配的错误)

更新VS2017到15.9.5版后,CUDA9.0的samples无法编译。解决方法包括:1) 修改host_config.h中_MSC_VER的值;2) 安装VC++ 2015.3 v140工具集,并在项目设置中选择Visual Studio 2015 (v140)平台工具集及相应目标平台版本。

8389

被折叠的 条评论
为什么被折叠?



