使用 Visual Studio 2017 在 Linux 上构建现有 C++ 解决方案

Posted

技术标签:

【中文标题】使用 Visual Studio 2017 在 Linux 上构建现有 C++ 解决方案【英文标题】:Build existing C++ solution on linux using Visual Studio 2017 【发布时间】:2019-05-08 22:35:29 【问题描述】:

我有一个 CMake 项目,有时我需要在 Linux 上构建/调试它。我尝试使用“使用 C++ 进行 Linux 开发”来连接到我的虚拟 Debian 机器,但它并没有按照我想要的方式工作。

它不想创建一个新项目,我只想使用 CMake 生成一个 makefile 并连接到它。

https://blogs.msdn.microsoft.com/vcblog/2017/04/11/linux-development-with-c-in-visual-studio/

我已尝试阅读此内容,但没有说明如何连接到现有项目。

【问题讨论】:

如果你的项目是基于 CMake 的,为什么不直接在 linux 上使用 CMake 构建它呢? 好吧,我确实使用 CMake 在 linux 上构建。我需要让它对不熟悉 linux 的人有用。 【参考方案1】:

我只想使用 CMake 生成一个 makefile

您可以在属性->常规->项目默认值->配置类型中签出以使用现有的makefile。

Heremicrosoft 为您提供了有关如何在 Visual Studio 2017 中使用 CMakeLists.txt 文件的精彩指南。

总之你需要

打开您的 CMakeLists.txt 和源文件(无需为此创建新项目,只需打开文件夹即可) 在工具 > 选项 > 跨平台 > 连接管理器中选择 Linux 目标 通过右键单击解决方案资源管理器中的 CMakeSettings.txt 并选择更改 CMake 设置,为 Linux 配置 CMake 设置。它在您的项目文件夹中保存为 CMakeSettings.json 文件

构建时,开发 PC 上的源文件会复制到 Linux 计算机并在那里编译。

请注意,它需要 Visual Studio 2017 版本 15.4 及更高版本。 此外,Visual Studio 中的 CMake 支持需要 CMake 3.8 中引入的服务器模式支持。你可以从here获得微软提供的CMake

【讨论】:

@miradham,谢谢,但是有没有办法从生成的 makefile 进行编译? 有时我只需要编译几个库,而不是整个解决方案。编译makefile会容易得多。 @EugeneMart 您是否尝试过更改项目默认设置中的配置类型?

以上是关于使用 Visual Studio 2017 在 Linux 上构建现有 C++ 解决方案的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2017详细资料大全

如何使用Visual Studio 2013或Visual Studio 2017设置TFS 2013

在 Visual Studio 2015 中打开 Visual Studio 2017 项目

Visual studio 2017怎么注册激活

如何设置 TFS 2013 以使用 Visual Studio 2013 或 Visual Studio 2017 构建

visual studio2017社区版如何空格操作?