首页 > 解决方案 > 使用 CMake 生成构建系统时选择 MSVS 构建配置

问题描述

我有一个多平台 CMake 项目,有时我必须为 Windows 手动构建它。我生成这样的构建系统:

cmake -DCMAKE_BUILD_TYPE=Release -G"Visual Studio 16 2019" -A x64 ../path/to/source

然后我打开*sln文件并按 F7 构建。它运行了 40 分钟,之后我了解到我没有在组合框中选择正确的配置。这很烦人!当命令行选项为-DCMAKE_BUILD_TYPE=Release,但组合框设置为 时Debug,构建会在花费相当长的时间后失败。

是否可以使用从命令行选择的构建配置生成 MSVS 项目?

请注意,我知道msbuild命令和它的-p:Configuration=xxxxx标志。问题是关于出于某种原因需要从 Visual Studio 的 GUI 构建的情况。

标签: visual-studiocmake

解决方案


目前无法使用 CMake 更改 GUI 的选定配置。

主要原因是此信息存储在.suoVisual Studio 生成的文件中。CMake 本身只生成项目和解决方案文件,而.suo文件将由 Visual Studio 自己生成。

或者,为此使用 CMake 的命令行构建选项.sln像往常一样配置项目并从 CMake生成 VS文件后,只需运行:

cmake --build <path_to_build_directory> --config Release

这独立于选定的生成器工作,是构建 CMake 项目的最可靠方式。


推荐阅读