我正在尝试安装CUDA,但我收到一条消息说“没有找到支持的Visual Studio版本”。我认为这是因为我使用的是Visual Studio 2017(社区),而CUDA目前最高只支持Visual Studio 2015。不幸的是,微软不允许我在不支付订阅费的情况下下载旧版本的Visual Studio。
我是否有办法绕过VS 2017的兼容性问题,或者我是否可以不使用CUDA?
我正在尝试安装CUDA,但我收到一条消息说“没有找到支持的Visual Studio版本”。我认为这是因为我使用的是Visual Studio 2017(社区),而CUDA目前最高只支持Visual Studio 2015。不幸的是,微软不允许我在不支付订阅费的情况下下载旧版本的Visual Studio。
我是否有办法绕过VS 2017的兼容性问题,或者我是否可以不使用CUDA?
9条答案
按热度按时间nom7f22z1#
1.如果您要将
CUDA 8.0
与Visual Studio 2017
一起安装,则需要安装Visual Studio 2017的其他组件。单击开始菜单并键入Visual Studio安装程序。打开Visual Studio安装程序
打开
Individual components
选项卡并选择VC++ 2015.3 v140 toolset
在
Compilers, build tools and runtimes
下。1.如果您没有安装
.NET Framework 3.5
,您还需要安装它。Nvda.Build.CudaTasks.v8.0.dll
组件dependents on MS .NET Framework 3.5 *.打开经典控制面板,转到
Programs and features
然后按
Turn Windows features on or off
。检查.NET框架3.5,然后按确定。1.下载完整的
CUDA toolkit
发行版并将其解压到磁盘上的某个位置。1.如果您没有安装
CUDA toolkit
,请立即安装。如果您只安装了Visual Studio 2017
,请取消选中Visual Studio integration
复选框。现在您希望收到***
"No supported version of the visual studio was found"
***错误。但是为了在
Visual Studio 2017
中成功构建Cuda工具包项目,您还需要遵循步骤5和6。1.转到
CUDAVisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions
文件夹中,请复制所有文件并将其粘贴到
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140\BuildCustomizations:
1.在最后一步中,您需要编辑
Cuda
项目,以识别Visual Studio 2017
中的NVidia构建任务。在文本编辑器中打开.vcxproj
文件,查找所有CUDA 8.0.props
。将字符串开头的宏替换为$(VCTargetsPath14)
,这样XML片段将如下所示:<ImportGroup Label="ExtensionSettings"> <Import Project="$(VCTargetsPath14)\BuildCustomizations\CUDA 8.0.props" /></ImportGroup>
不要忘记编辑文件末尾的自定义目标路径:
<ImportGroup Label="ExtensionTargets"> <Import Project="$(VCTargetsPath14)\BuildCustomizations\CUDA 8.0.targets" /></ImportGroup>
确保仔细检查路径配置!
如果您从命令提示符下使用
nvcc
,则可能无法从Visual Studio
文件夹调用cl.exe
!现在,您可以从Visual Studio 2017构建您的Cuda项目。
此解决方案的部分内容来自Oleg Tarasov blog。
pzfprimi2#
目前,微软似乎仍在提供VS2015 Update 2社区版,你必须加入“dev essentions”计划,但它似乎是免费的。
我最近能够从here下载安装程序。
更新:CUDA 9 RC昨天在www.example.com上developer.nvidia.com向注册开发者提供,并且支持VS 2017。
9q78igpj3#
谢谢大家的帮助。我只是想补充这篇文章的最后一块拼图。CUDA v9.0 RC正在寻找VS2017识别为1910,但最新的更新实际上识别为1911。要修复打开.../CUDA/v9.0/include/crt/host_config. h并更改此行:
#if _MSC_VER < 1600 || _MSC_VER > 1910
改为:
#if _MSC_VER < 1600 || _MSC_VER > 1911
您可能还需要将以下内容添加到CMakeList:
list(APPEND CUDA_NVCC_FLAGS --cl-version=2017)
dohp0rv54#
对于看到后者的人来说。
首先,尝试只安装CUDA 10(CUDA工具包10.0)。
如果没有任何mods仍然不能工作,请确保您有尽可能多的VC++工具集,因为你看到在列表中。检查this video,停止在8:41和比较列表。
如果出于某种原因,您必须使用CUDA 9.0 - 9.2,则需要跨越一些障碍:
如果您有非常定制的基于cmd的构建,请查找
#if _MSC_VER
(在.../CUDA/.../include/crt/host_config.h
中)并删除尾随的|| _MSC_VER > ...
lokaqttq5#
为了在Windows shell中运行Cuda编译器
nvcc
,您需要执行以下操作1.从VS 2017 -
VC++ 2017 version 15.4 v.14.11 toolset
的各个组件安装适当的工具集版本1.按照
"c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64 -vcvars_ver=14.11
在Windows shell中运行1.您可以从windows shell编译
nvcc
代码而不会出错2lpgd9686#
我在使用CUDA 9.1和VS 2017 Enterprise时遇到了同样的问题。
将VC++编译器更改为v140(而不是141)后,一切运行正常。
已经有标记
但它不会停止显示错误。
不知道为什么,但试图在VS2015上运行它会导致关于V141没有安装的错误...所以由于一些扭曲的逻辑,我试图不使用V141安装的地方...一切正常!!
离开这里,因为它可能会帮助别人在相同的情况下.(虽然我真的不明白为什么,如何,何时,谁或什么的解决方案.
pcww981p7#
最新更新(截至2018年6月12日正确)最新Cuda版本为9.2,最新Visual Studio版本为2017.7无法配合使用。上述解决方案中提供的说明无法使用。以下是对我有效的说明:
1.卸载Visual Studio。
1.卸载Visual Studio安装程序
1.下载Visual Studio 2017.6(请注意,众所周知,Microsoft会更改链接和修订版本,恕不另行通知)https://learn.microsoft.com/en-us/visualstudio/productinfo/installing-an-earlier-release-of-vs2017
1.启动安装程序
1.转到“单个组件”。单击Windows 10 SDK 10.0.15063 enter image description here
1.从官方网站下载cuda工具包:https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal
1.您可能需要下载修补程序。
xesrikrc8#
我想使用文本编辑器编辑CUDA程序(iIndieSublime)并从命令提示符编译它们但我遇到了nvcc编译器错误,我用Windows 10 OS安装了Visual Studio 2017但编译后它说"只有VS 2012、13的版本,15和17是允许的。"所以我所做的是从VS 2017安装程序的安装包中安装VC ++2015工具包(参考顶部帖子的图片)。我没有经历他的整个过程,相反,我只是从新创建的VS 14.0文件夹中复制了我的cl.exe文件的路径到环境变量。该. exe文件可以在这里找到:
希望这有帮助!
mfpqipee9#
只是更新。我的兼容性是: