- 操作系统: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
型
所以我认为这不是双引号的下降
3条答案
按热度按时间olhwl3o21#
看起来你可能安装了 * 两个版本 * 的CMake。请确保Python脚本中使用的版本大于或等于CMake 3.14版本。
Visual Studio 16 2019
生成器在早期的CMake版本中不可用。您可以通过添加以下内容来测试Python脚本使用的CMake版本:
字符串
5rgfhyps2#
对我来说,一个类似的问题是通过在Python中删除引号中的引号来解决的,正如@Tsyvarev上面的评论所暗示的那样。
字符串
或者如果你想要一个生成器arg:
型
bbuxkriu3#
我尝试了以下两个命令:
字符串
结果是
"Visual Studio 17 2022"
。型
结果是
Visual Studio 17 2022
。所以你的CMake接收到的参数是一个包含引号的字符串,但它不需要引号。