与VS 2017的CUDA 9不支持的错误

Mik*_*kin 11 c++ cuda visual-studio

我最近更新了我的VS 2017,现在我甚至无法构建默认的CUDA项目(添加了矢量的项目).

我怀疑这是由于以下错误:

Severity    Code    Description Project File    Line    Suppression State
Error   C1189   #error:  -- unsupported Microsoft Visual Studio version! 
 Only the versions 2012, 2013, 2015 and 2017 are supported! ver2    
c:\program files\nvidia gpu computing 
toolkit\cuda\v9.0\include\crt\host_config.h 133 
Run Code Online (Sandbox Code Playgroud)

其他错误是无关紧要的,一旦我解决了这个错误就会消失.请注意,我能够从CUDA示例构建并运行simpleCUFFT.

在更新之前,我能够构建默认的CUDA项目,但是我无法构建CUDA Sample项目.我使用VS安装程序更新了我的VS2017并安装了CUDA SDK 10.0.15063.0.附件是截图截图 安装组件.

如果需要任何其他信息,请与我们联系.我知道以下主题,因为我使用的是最新的CUDA工具包,所以我不需要在host_config.h中进行更改.

谢谢,米哈伊尔

编辑:我的VS版本(在VS安装程序中显示)是15.5.0我的nvcc版本是9.0版,V9.0.176

Edit2:我试图将host_config.h第133行更改为:

  #if _MSC_VER < 1600 || _MSC_VER > 1912
Run Code Online (Sandbox Code Playgroud)

此错误不再显示,但是,文件type_trails中会出现一堆错误"表达式必须具有常量值".我不知道如何解决它.

Mik*_*kin 20

经过一段痛苦的时光,我才能解决问题.以下是有类似问题的人的答案:

1)确保您拥有VC++ 2015.3 v140工具集(可以从Web或Visual Studio安装程序安装)

2)在项目属性(常规) - >平台工具集中选择Visual Studio 2015(v140).

编辑(5/21/2018):我刚刚将Visual Studio 2017更新到最新版本15.7.1.从现在开始,我可以选择VS 2017 v141工具集,它工作正常.

  • 有一种方法可以快速地从UI更改解决方案中所有项目(有162个)的此设置.只需一次选择多个项目,然后右键单击项目属性,并按照上述答案的说明操作.您可以通过以下方式一次选择所有项目:1)ctrl-A 2)然后取消选择所有非项目(解决方案和文件夹). (2认同)