在运行一项程序时,出现了Microsoft Visual Studio version版本不支持的情况,具体如下:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include\crt/host_config.h(143): fatal error C1189: #error: – unsupported Microsoft Visual Studio version! Only the versions between 2013 and 2017 (inclusive) are supported!
查到的原因是CUDA版本需要与微软的C/C++编译器版本匹配,解决方法是找到你自己安装CUDA路径下的这个文件,我的如下:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\include\crt\host_config.h
打开后定位到这一行,修改 ‘_MSC_VER >=’ 后面的数值
_MSC_VER xx和VisualStudio xx对应关系如下表:
VC 版本 | _MSC_VER | VS 版本 | MSVC toolset version |
---|---|---|---|
VC6.0 | 1200 | VS 6.0 | |
VC7.0 | 1300 | VS2002 | |
VC7.1 | 1310 | VS2003 | |
VC8.0 | 1400 | VS2005 | 80 |
VC9.0 | 1500 | VS2008 | 90 |
VC10.0 | 1600 | VS2010 | 100 |
VC11.0 | 1700 | VS2012 | 110 |
VC12.0 | 1800 | VS2013 | 120 |
VC14.0 | 1900 | VS2015 | 140 |
VC15.0 | [1910,1916] | VS2017 | 141 |
VC16.0 | [1920,1929] | VS2019 | 142 |
VC17.0 | [1930,) | VS2022 | 143 |