Car*_*iro
7
c++
git
dependencies
software-distribution
做这个的最好方式是什么 ?
- 将依赖库作为 git 子模块添加到您的源代码中并使用您的源代码构建它们?
- 与 #1 相同,但不是 git submodules 将克隆和构建卸载到构建系统,就像这里描述的那样。
- 不要构建依赖项,只需列出它们并让库用户处理它的安装(静态或动态,但他感觉如何)。
- 将所有内容构建到一个巨大的静态库中,并将其完全隐藏在下游用户面前。
- 使用由其他语言(如 maven、ant、gradle、gem、pip)著名的依赖管理器之一。这些中的任何一个都可以很好地与 C++ 库配合使用吗?
- 更好的东西,我没有在这里考虑
我有一个合理的感觉,#4 是不可能的。
我一直在尝试使用 #1,但我已经遇到了 git 子模块的不便之处。
我觉得#2 与#1 相似,但略好于#1,但如果你这样做,你如何进行开发?您是在系统中安装依赖库还是将它们保存在源代码树中(但不在源代码管理中)以模拟构建环境?
很多问题,但希望有一个最终的答案。