【问题标题】:Visual Studio 2017 - How to create a project from the source using CMake?Visual Studio 2017 - 如何使用 CMake 从源代码创建项目?
【发布时间】:2018-12-28 21:04:40
【问题描述】:

我有一个相当大的软件库,使用 CMake 进行编译。我们主要使用 Linux,但现在一个新同事想使用 Visual Studio。

有什么方法可以从现有的 CMake 结构源代码创建一个新的 VS 2017 项目?

我知道,用 CLion 可以做到,但我对 VS 不了解,因为我对它的经验很少。

其他问题似乎集中在创建一个将使用 CMake 的空项目,而不是从现有源文件创建项目。

【问题讨论】:

  • 你不是说cmake -G "Visual Studio 15 2017" 生成一个项目吧?因为您说您已经在 Linux 上使用 cmake,为什么不直接使用相同的 'CMakeLists.txt` 和所有内容来生成项目?
  • 是的,有办法做到这一点。 CMake 非常擅长这一点。实际上,CMake 中的 C 代表跨平台!在 Visual Studio 中打开 CMake 项目,尝试编译它,如果遇到特定于平台的问题,则修改 CMakeLists.txt 以补偿特定于平台的分支。
  • @CinderBiscuits 我知道跨平台编译。你介意写一个关于这个特定 IDE 的简短回答吗?

标签: visual-studio cmake compilation visual-studio-2017


【解决方案1】:

我不知道您为什么要询问详细信息,但是...

假设您使用的是 cmake 3.13,那么您可以在命令 shell 中执行以下操作:

cmake -G "Visual Studio 15 2017" -S path_to_source -B path_to_build

这将创建一个解决方案文件。实际上,它为CMakeLists.txt 中发出的每个project() 命令创建一个解决方案文件。

然后您可以在Visual Studio 中打开解决方案文件,并像往常一样构建项目。

您甚至不需要在Visual Studio GUI 中执行此操作。创建初始项目后,您还可以发出命令:

cmake --build path_to_build

这将在命令行启动构建。

现在,如果您在 path_to_source 中的 CMakeLists.txt 使用的是 Linux 特定库或 gcc 特定编译器设置,那么 CMakeLists.txt 必须更新为 Windows 等效项。

替代方法是启动Visual Studio,然后使用File->Open->CMake 并打开path_to_source 中的CMakeLists.txt 文件。然后它将开始生成项目。但我更喜欢使用命令行方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-14
    • 2021-03-17
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多