在運行一項Python程序時,出現了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!
先介紹一下我的環境情況:
- Win 10
- Visual Studio 2019
- CUDA 10.0
- cuDNN 7.6.4
查到的原因是CUDA版本需要與微軟的C/C++編譯器版本匹配,解決方法是找到你自己安裝CUDA路徑下的這個文件,我的如下:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include\crt\host_config.h
打開后定位到這一行,修改 ‘_MSC_VER >=’ 后面的數值
至於_MSC_VER,它是微軟公司推出的C/C++編譯器在ANSI/ISO C99標准之外擴展的宏定義,用來定義當前微軟公司自己的編譯器的主版本。因為Visual Studio更新很快,其值不斷更新,導致CUDA跟不上Visual Studio的步伐,所以出現上述錯誤。具體VS版本對應的_MSC_VER值可參考微軟官方的資料----Click here
下表是截止到 2020/08/01 的 Visual Studio version 與 _MSC_VER 對應關系:
Visual Studio version | _MSC_VER |
---|---|
Visual Studio 6.0 | 1200 |
Visual Studio .NET 2002 (7.0) | 1300 |
Visual Studio .NET 2003 (7.1) | 1310 |
Visual Studio 2005 (8.0) | 1400 |
Visual Studio 2008 (9.0) | 1500 |
Visual Studio 2010 (10.0) | 1600 |
Visual Studio 2012 (11.0) | 1700 |
Visual Studio 2013 (12.0) | 1800 |
Visual Studio 2015 (14.0) | 1900 |
Visual Studio 2017 RTW (15.0) | 1910 |
Visual Studio 2017 version 15.3 | 1911 |
Visual Studio 2017 version 15.5 | 1912 |
Visual Studio 2017 version 15.6 | 1913 |
Visual Studio 2017 version 15.7 | 1914 |
Visual Studio 2017 version 15.8 | 1915 |
Visual Studio 2017 version 15.9 | 1916 |
Visual Studio 2019 RTW (16.0) | 1920 |
Visual Studio 2019 version 16.1 | 1921 |
Visual Studio 2019 version 16.2 | 1922 |
Visual Studio 2019 version 16.3 | 1923 |
Visual Studio 2019 version 16.4 | 1924 |
Visual Studio 2019 version 16.5 | 1925 |
Visual Studio 2019 version 16.6 | 1926 |
Visual Studio 2019 version 16.7 | 1927 |
可以看到 1920 正好對應了Visual Studio 2019的第一個版本,為了“一勞永逸”,可以將文件中的那個值修改的很大,如上圖中改為 2000,這樣很長一段時間內不會再出現這個問題。
當然,你還可以選擇安裝 Visual Studio 2017。