如何正确生成 Visual Studio 的 CMake 项目

问题描述 投票:0回答:1

当我使用 Visual Studio 生成器配置 CMake 项目时,它会生成 Visual Studio 解决方案。在资源管理器的解决方案中,我可以看到 CMakeLists.txt,如果它发生更改,Visual Studio 会检测到它,并要求重新加载整个解决方案,到目前为止一切顺利。然而,如果您转到新项目并从 Visual Studio 本身选择一个新的 CMake 项目,它似乎不是一个合适的 CMake 解决方案。当您右键单击时,上下文菜单中缺少一大堆选项:

enter image description here

缺少“使用 CMake 调试配置缓存”,以及 CMakePresets.json 和一大堆其他内容。问题是我不知道如何通过 CMake 到达这个阶段。我使用 GUI,并用它来生成 Visual Studio 项目,这有点工作不顺利。即,它检测 CMakeLists.txt 并检测更改,因此它知道它是 CMake 解决方案/项目,但它只是没有其他内容。这意味着我无法调试 CMakeLists.txt。

c++ visual-studio cmake
1个回答
0
投票

使用 Visual Studio 生成器本质上意味着 cmake 将生成项目和解决方案文件,以便 Visual Studio 根本不需要了解有关 cmake 的任何信息。这是在 Visual Studio 对 cmake 提供任何支持之前作为 cmake 的一部分实现的 [1]

从那时起,Visual Studio 开发人员开始在工具内实现direct cmake 支持。

为了获得该支持,规范的方法是“打开本地文件夹”作为 CMakeLists.txt 所在的项目。然后,Visual Studio 将自行配置 cmake 集成。

更多信息在这里:https://learn.microsoft.com/en-us/cpp/build/cmake-projects-in-visual-studio?view=msvc-170

[1] 我最近没有看过它,但我想象 CMakeLists.txt 在项目中有一个特殊的规则,使其在修改时重新运行 cmake,触发项目的重新生成,从而从 VS 重新加载。所有这一切都是为了让 cmake 项目可以与 VS IDE 交互,而其开发人员没有为其实现一流的支持。

© www.soinside.com 2019 - 2024. All rights reserved.