Win10 + VS2017 v15.5.5 + CUDA9.1.85,CUDA Samples无法编译通过解决办法

最近一直在搞CUDA环境搭建,被一个问题困扰好久,终于找到了方法解决。发现没有一篇教程解决,网上大多数人建议都是下载VS2015或者以前版本的VS2017, 不要用最新版VS2017。但其实VS2017早就考虑到这些情况,可以通过简单一些的配置解决,所以写一篇教程,让大家少走点弯路。解决方法都不是我发现,我只是看到CSDN上没有,搬运了stackoverflow上的大牛的方法,希望可以帮到大家。

解决方法我是在

首先安装啥的一直参照着这篇教程

http://blog.csdn.net/ygjustgo/article/details/78883981

但是在2.(2)那一步利用VS编译测试文件一直出错,如下图 

第一个问题

#error: -- unsupported Microsoft Visual Studio version! Only the versions 2012, 2013, 2015 and 2017 are supported!

这是由于CUDA文件定义不支持最新版VS2017,根据报错问题在host_config.h文件的135行


解决方案

打开文件路径 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\include\crt 中的 host_config.h 文件


发现133行对版本做了限制

将 _MSC_VER > 1911 中的 1911 改为 1920 (这个数字是我随便改的,理论上只要比你的版本高就行了)

再次编译

不支持VS2017的问题解决了,虽然出现了三十多个新的错误,接下来就是问题二了

问题二出现的原因我觉得是VS2017 v15.5.5编译方式代码格式什么的进行了大的更新导致不支持编译了

首先打开Visual Studio Installer

点击"修改"

点击"单个组件" -> "编译器、生成工具和运行时" -> "用于桌面的 VC++ 2015.3 v140 工具集(x86,x64)"

安装好了重新打开之前那个工程

按住ctrl多选选中我们需要的五个项目,然后右键打开"属性"

点击"常规" -> "常规" -> "平台工具集" 选择 "Visual Studio 2015 (v140)"

再次重新编译

成功了,按照教程运行那两个文件

应该没啥大问题了,主要就是需要修改支持版本号,然后更改编译工具,希望CUDA早日支持VS最新版本就不需要瞎折腾了


评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值