您的位置:首页 > 其它

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

2018-01-31 19:16 489 查看
最近一直在搞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最新版本就不需要瞎折腾了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  CUDA VS2017
相关文章推荐