【问题标题】:How to handle dependencies in cross platform C++ projects?如何处理跨平台 C++ 项目中的依赖关系?
【发布时间】:2013-12-21 16:04:11
【问题描述】:

这是我看到的以自动化方式在跨平台项目中处理外部库的方式。 (为什么没有跨平台包管理器?)

  • 将编译后的二进制文件添加到存储库。 (这不起作用,因为平台和构建配置会有所不同,并且可能会出现新的环境。)
  • 编写下载脚本从互联网上获取源代码。我可以考虑通过 HTTP 从 Github 或项目网站克隆库。 (当下载链接更改时,这会中断。此外,我不知道如何自动构建所有库。)
  • 将所有依赖项的源代码包含到存储库中,或者作为子存储库。 (问题仍然是找到一种自动编译它们的方法。而且它需要大量空间。)

在跨平台 C++ 项目中处理外部库的工作流程是什么?有许多大项目在那里,我想肯定已经出现了一个。如果不是,我可以根据哪些标准在合理的方式之间做出决定?

【问题讨论】:

  • “有很多大型跨平台项目,肯定出现了标准工作流程。” -- 有趣。
  • @BenjaminLindley 请澄清一下,因为我在这个领域没有经验。您似乎对此有些熟悉,因此您可以帮助我。
  • 我只是在假设有一个标准的工作流程来解决这个问题。没有。
  • 7年过去了,这个问题还没有真正的答案啊

标签: c++ git dependencies cmake cross-platform


【解决方案1】:

试试CMAKE

CMake 是一个跨平台的开源构建系统。 CMake 是一个 旨在构建、测试和打包软件的工具系列。 CMake 是 用于使用简单平台控制软件编译过程 和编译器无关的配置文件。 CMake 生成原生 可在编译器环境中使用的 makefile 和工作区 您的选择。

【讨论】:

  • 我知道 Cmake,这就是我用它标记我的问题的原因。但它似乎并没有直接解决如何最好地处理第三方依赖。
猜你喜欢
  • 2021-06-13
  • 1970-01-01
  • 2017-09-20
  • 2014-10-22
  • 1970-01-01
  • 2012-12-14
  • 1970-01-01
  • 2015-03-09
  • 2020-04-28
相关资源
最近更新 更多