原地址:
我安裝了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安裝,您也可以使用它代替特定的生成器名稱。