【问题标题】:Open CMake proejct in Visual Studio 2019 using command line使用命令行在 Visual Studio 2019 中打开 CMake 项目
【发布时间】:2020-04-28 13:11:15
【问题描述】:

我使用Visual Studio IDE开发,VS C++编译,CMake在VS中生成项目,Ninja构建。

我有一个脚本,它可以从 git 服务器克隆一个项目,并在开始处理它之前自动执行我需要执行的几个步骤。

在此脚本结束时,我想在 Visual Studio 中打开该项目。之前我习惯用生成VS解决方案,然后使用带有sln文件的devenv作为参数打开它。但是现在我使用 VS 对 CMake 的支持,如果我使用 CMakeList.txt 文件作为参数,它只会打开这个文件而不是完整的项目。

有没有办法做我想做的事??

提前致谢。

【问题讨论】:

  • 您能提供一个脚本示例吗?请展示它目前的功能。它会为你运行 CMake 吗? CMake生成的Visual Studio解决方案文件创建后为什么打不开?
  • 我的脚本在做什么并不重要。我需要一种使用命令行在 Visual Studio 中打开 CMake 项目的方法。这有效:devenv solution.sln(其中 solution.sln 是 Visual Studio 解决方案)但此 devenv CMakeList.txt(其中 CMakeList.txt 是项目根目录中的 CMake 文件)确实在 Visual Studio 中打开文件,但没有加载整个项目。我需要从命令行在 Visual Studio 中加载 CMake 项目,以便能够从我的脚本或批处理文件中加载它。
  • 所以,重新表述我之前的问题,这是否有效:mkdir build && cd build && cmake .. && devenv solution.sln
  • 不,我不再使用 Visual Studio 解决方案。我只使用 IDE 和编译器,但我使用 Ninja 构建。要从 IDE 打开项目,请转到 File -> Open -> CMake... 并从项目的根文件夹中选择 CMakeList.txt 文件。但是从命令行执行此操作只是在编辑器中打开文件,而不是加载项目。可能没有办法做到这一点,因为对 CMake 的支持越来越好,但距离对 Microsoft 解决方案的支持还很远。

标签: cmake visual-studio-2019 devenv


【解决方案1】:

假设你项目的根 CMakeLists.txt 位于C:\project\CMakeLists.txt 你可以调用

devenv "C:\project"

没有 CMakeLists.txt。

请注意,目前 Visual Studio 16.7 中似乎存在一个错误,即在打开目录时,所有视图(例如解决方案资源管理器)默认隐藏。 (https://developercommunity.visualstudio.com/content/problem/1140297/visual-studio-is-forgetting-docked-viewwindow-layo.html)

【讨论】:

    猜你喜欢
    • 2019-12-07
    • 1970-01-01
    • 2019-11-06
    • 1970-01-01
    • 2021-08-10
    • 2020-12-03
    • 2020-10-01
    • 2020-01-17
    • 2011-05-12
    相关资源
    最近更新 更多