跨平台C++;使用VisualStudio进行开发 我想用VisualStudio 2019启动跨平台的C++项目。 经过一些研究,我发现了两种可能的方法: 克马克

跨平台C++;使用VisualStudio进行开发 我想用VisualStudio 2019启动跨平台的C++项目。 经过一些研究,我发现了两种可能的方法: 克马克,c++,visual-studio,cmake,cross-platform,C++,Visual Studio,Cmake,Cross Platform,CMake在跨平台项目中非常常见,但我对它做得不多,感觉需要付出很多努力才能让它按您的意愿运行。但是您有大量的可能性来配置它。所以提问也推荐CMake,但表示还有其他方法 VS共享项目 如果在VS中使用跨平台代码共享,则解决方案中有多个项目(每个平台一个)和至少一个共享项目,其中包括源代码+头文件。特定于平台的项目包括所有配置设置和程序入口点。共享代码可以从每个项目中使用,就像它在项目中一样。 所有配置在VS中都是可能的。它看起来不那么复杂,但可能性有限 问题: 这两种方法看起来都适合我的需

CMake在跨平台项目中非常常见,但我对它做得不多,感觉需要付出很多努力才能让它按您的意愿运行。但是您有大量的可能性来配置它。所以提问也推荐CMake,但表示还有其他方法

VS共享项目

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

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


这两种方法的优缺点是什么?考虑到构建速度、灵活性、学习/掌握/上市的时间、VS功能支持、单元测试、持续集成等属性,请看一看。您可以从简单的lua配置生成makefile和VS项目。没有多少项目使用premake,但到目前为止我的经验是积极的。

我建议不要依赖IDE!如果您不再或不想使用Visual Studio,会发生什么情况?然后,必须将所有编译配置转换为其他配置。使用CMake时,您可以使用任何想要的IDE,并且在终端上有一个“简单”的工具,您可以在脚本中使用该工具进行测试等。使用CMake(因为Qt编译…)构建Qt应用程序对我来说要快得多,然后使用“本机”visual studio(有时为800%)但我从未尝试过共享项目。我不知道你问的区别,但你似乎可以尝试Visual Studio代码,这也是一种开始跨平台开发的好方法,而且似乎不那么复杂。@RoQuOTriX在我们的开发部门,每个人都有并使用VS,所以这不会是一个问题。另一方面,建筑速度更为相关。@izlin是的,你现在正在使用它。但时代在变。我真的想将我的IDE与代码管理分开“这两种方法的优点和缺点是什么?”——这类问题通常不适合堆栈溢出,因为它不是一个讨论论坛。像“学习时间/掌握/市场”这样的东西很难是客观的。你建议的大多数其他属性也是如此。这是一个有趣的概念,但这并不是针对我的问题。您可能希望将其添加为注释。