CMake 与 Visual Studio 2019 的构建工具(只是 CLI 而不是 IDE)

Posted

技术标签:

【中文标题】CMake 与 Visual Studio 2019 的构建工具(只是 CLI 而不是 IDE)【英文标题】:CMake with Build Tools for Visual Studio 2019 (Just the CLI not the IDE) 【发布时间】:2021-06-07 15:29:00 【问题描述】:

我正在尝试使用 Cmake 和 Visual Studio 2019 构建工具构建我的代码。 请注意,我使用的不是 IDE,而是 Build Tools CLI。 当我尝试像这样生成我的项目时:

cmake -G "Visual Studio 16 2019" -S . -B .

CMake 会返回这个:

 Generator

    Visual Studio 16 2019

  could not find specified instance of Visual Studio:

    C:/Program Files (x86)/Microsoft Visual Studio/2019/Community

如何让 CMake 查找构建工具位置而不是 IDE 位置?

【问题讨论】:

【参考方案1】:

我已经好几年没用过Visual Studio了,不过根据CMake的documentation on the Visual Studio 16 2019 generator,你可以使用CMake变量或者环境变量来控制你使用哪个实例。

VS 2019 支持在同一台机器上进行多个安装。 CMAKE_GENERATOR_INSTANCE 变量可以设置为缓存条目,其中包含 Visual Studio 实例的绝对路径。如果用户或工具链文件未明确指定该值,CMake 将查询 Visual Studio 安装程序以定位 VS 实例,选择一个,并将变量设置为缓存条目以永久保存该值。

当 CMake 首次选择一个实例时,如果设置了 VS160COMNTOOLS 环境变量并指向其中一个实例中的 Common7/Tools 目录,则将使用该实例。否则,如果安装了多个实例,我们不会定义默认选择哪一个。

【讨论】:

以上是关于CMake 与 Visual Studio 2019 的构建工具(只是 CLI 而不是 IDE)的主要内容,如果未能解决你的问题,请参考以下文章

CMake 与 Visual Studio 2019 的构建工具(只是 CLI 而不是 IDE)

如何在 Visual Studio 2017、C++、CMake 中使用数据断点?

Win10-cmake-gui与Visual Studio 2019配置OpenCV4.2

CMake 和 Visual Studio - 指定解决方案文件目录

使用CMake,Microsoft MPI和Visual Studio 2017 - 找不到mpi.h [重复]

在 Visual Studio 上的 C++ 项目中将 NetCDF(通过 vcpkg 安装)与 CMake 一起使用时未解析的外部符号