我最近更新了我的 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
其他错误无关紧要,一旦我修复了这个错误就会消失。请注意,我能够从 CUDA 示例构建和运行 simpleCUFFT。
在更新之前,我能够构建默认的 CUDA 项目,但我无法构建 CUDA 示例项目。我已经使用 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
此错误不再出现,但是,文件 type_trails 中出现了一堆错误“表达式必须具有常量值”。我不知道如何解决它。
原文由 Mikhail Genkin 发布,翻译遵循 CC BY-SA 4.0 许可协议
经过一段时间的痛苦,我能够解决问题。以下是有类似问题的人的答案:
确保您拥有 VC++ 2015.3 v140 工具集(可以从 Web 或 Visual Studio 安装程序安装)
在项目属性(通用)-> 平台工具集中选择 Visual Studio 2015 (v140)。
编辑(5/21/2018):我刚刚将 Visual Studio 2017 更新到最新版本 15.7.1。从现在开始,我可以选择 VS 2017 v141 工具集,它工作正常。