[VS2019+CUDA] fatal error: #error: -- C1189: unsupported Microsoft Visual Studio version!


在運行一項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。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM