安裝VS 2019後,CMake找不到VS 2017 C ++編譯器

原地址:

https://stackoom.com/question/3zqGp/%E5%AE%89%E8%A3%85VS-%E5%90%8E-CMake%E6%89%BE%E4%B8%8D%E5%88%B0VS-C-%E7%BC%96%E8%AF%91%E5%99%A8

我安裝了Visual Studio 2017專業版以及Visual Studio 2019專業版。

由於我無法控制的某些項目限制,我必須使用VS 2017編譯器來編譯代碼。 在安裝Visual Studio 2019之前,以下CMake命令運行良好:

cmake -G "Visual Studio 15 2017 Win64"

但是在安裝VS 2019之後,上面的行顯示以下錯誤:

CMake Error at CMakeLists.txt:9 (project):
  Failed to run MSBuild command:

    MSBuild.exe

  to get the value of VCTargetsPath:

    Das System kann die angegebene Datei nicht finden

最後一行表示類似“系統無法找到給定文件”的內容。

誰能幫我解決問題? 可悲的是,到目前爲止,我必須爲此特定項目使用VS2017中的編譯器。

編輯:正如尼爾在評論中所建議的那樣,使用開發人員命令提示符就可以了。 有什麼方法可以使用Windows命令提示符嗎? 它更容易使用。

Edit2:我現在使用Neil建議的解決方案,並運行Visual Studio命令提示符中所需的命令,因爲我無法弄清楚如何在Windows命令提示符下正確地進行操作。

c++ windows cmake visual-studio-2017 visual-studio-2019

1 個回覆

按投票數排序按時間排序

 

===============>>#1 票數:1 已採納

CMake始終嘗試查找Visual Studio的最新版本。 因此,如果安裝了VS2019,但未正確檢測到,則3.14之前的CMake的較早版本可能會失敗。

請注意,如果重新運行,則需要從構建目錄中刪除CMakeCache.txt和CMakeFiles文件夾。

如果打算將VS2019與CMake一起使用,則需要使用CMake的體系結構選項( -A ),因爲沒有“ Visual Studio 16 2019 Win64”生成器,例如cmake -G "Visual Studio 16 2019" -A x64 for 64位生成或cmake -G "Visual Studio 16 2019" -A Win32用於32位生成的cmake -G "Visual Studio 16 2019" -A Win32 。 體系結構選項是CMake 3.0.2中引入的,因此對於較舊的Visual Studio安裝,您也可以使用它代替特定的生成器名稱。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章