【问题标题】:Cross-Platform C++ development with VisualStudio使用 Visual Studio 进行跨平台 C++ 开发
【发布时间】:2019-11-15 09:39:22
【问题描述】:

我想使用 VisualStudio 2019 启动一个跨平台 C++ 项目。 经过一番研究,我发现了两种可能的方法:

CMake

Tutorial: Create C++ cross-platform projects in Visual Studio

Create and configure a Linux CMake project

CMake 对于跨平台项目来说很常见,但我并没有做太多,感觉你需要付出很多努力才能让它按照你的意愿运行。但是您有大量的可能性来配置它。 ThisSO questions也推荐CMake,不过说还有其他方法。

VS 共享项目

Shared Project : An Impressive Feature of Visual Studio 2015

Cross-platform code sharing with Visual C++

如果您在 VS 中使用跨平台代码共享,您的解决方案中有多个项目(每个平台一个)和至少一个共享项目,其中包括您的源文件 + 头文件。平台特定项目包括所有配置设置和程序入口点。可以从每个项目中使用共享代码,就好像它在项目中一样。 所有的配置都可以在 VS 中进行。它看起来不那么复杂,但可能性有限。

问题

这两种方式看起来都适合我的需求,但我还没有找到它们之间的比较。我已经为它们编写了运行示例,但是那些小的代码库并没有给我我需要的洞察力。

这两种方式的优缺点是什么?考虑构建速度、灵活性、学习/掌握/上市时间、VS 功能支持、单元测试、持续集成等属性...

【问题讨论】:

  • 我建议不要依赖 IDE!如果您不能或不想再使用 Visual Studio,会发生什么?然后您的所有编译配置都必须转换为其他配置。使用 CMake 时,您可以使用任何所需的 IDE,并在终端上有一个“简单”的工具,您可以在脚本中使用它进行测试等。使用 CMake 构建 Qt 应用程序对我来说要快得多(因为 qt 编译...) ,然后使用“本机”视觉工作室(有时 800%),但我从未尝试过共享项目。
  • 我不知道你问的区别,但似乎你可以试试 Visual Studio Code,它也是开始跨平台开发的好方法,而且看起来不那么复杂。
  • @RoQuOTriX 在我们的开发部门,每个人都拥有并使用 VS,所以这不是问题。另一方面,构建速度更为重要。
  • @izlin 是的,你现在正在使用它。但时代在变。我真的会将我的 IDE 与代码管理分开
  • "这两种方式的优缺点是什么?" - 这类问题通常不适合 Stack Overflow,因为它不是一个讨论论坛。诸如“学习/掌握/市场的时间”之类的东西很难客观。您建议的大多数其他属性也是如此。

标签: c++ visual-studio cmake cross-platform


【解决方案1】:

看看Premake。您可以从简单的 lua 配置生成 Makefile 和 VS 项目。使用预制的项目并不多,但到目前为止我的经验是积极的。

【讨论】:

  • 有趣的概念,但这并不针对我的问题。您可能希望将其添加为评论。
猜你喜欢
  • 2016-01-08
  • 2011-03-31
  • 2010-11-09
  • 2010-09-24
  • 2012-02-25
  • 1970-01-01
  • 1970-01-01
  • 2023-03-19
  • 2012-03-19
相关资源
最近更新 更多