簡體   English   中英

Python 腳本:如何修復 CMake 錯誤:無法創建命名生成器?

[英]Python script: how to fix CMake Error: Could not create named generator?

  • 操作系統:Windows 10
  • CMake:3.18.2
  • MSVC:16.7.3

當我使用命令行時,我可以使用以下行生成構建

cmake -B "D:\Builds" -S "D:\src" -G "Visual Studio 16 2019" -A "x64" 

當我使用以下 Pytnon 腳本時:

subprocess.call([
    '...\cmake.exe', 
    '-B "D:\Builds"',
    '-S "D:\src"',
    '-G "Visual Studio 16 2019"',
    '-A "x64"'
])

我收到一個錯誤:

CMake Error: Could not create named generator  "Visual Studio 16 2019"

為什么會發生以及如何解決?

PS:這不是任何問題的重復,這是新的

Update1 :當我將發電機線更改為

'-G Visual Studio 16 2019'

我看到以下錯誤:

CMake Error: Could not create named generator  Visual Studio 16 2019

所以我認為這不是雙引號下降

看起來您可能安裝了兩個版本的 CMake。 確保 Python 腳本中使用的版本大於或等於 CMake 3.14 版。 Visual Studio 16 2019生成器在早期 CMake 版本中不可用。

您可以通過添加以下內容來測試 Python 腳本使用的 CMake 版本:

subprocess.call([
    '...\cmake.exe', 
    '--version'
])

對我來說,通過刪除 Python 中引號中的引號解決了類似的問題,正如上面@Tsyvarev 的評論中所暗示的那樣。 愛荷華州:

subprocess.call(['cmake', '-G', '"Visual Studio 16 2019"']) # Fails
subprocess.call(['cmake', '-G', 'Visual Studio 16 2019'])   # Succeeds

或者,如果您想要一個生成器 arg:

subprocess.call(['cmake', '-G"Visual Studio 16 2019"']) # Fails
subprocess.call(['cmake', '-GVisual Studio 16 2019'])   # Succeeds

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM