C++ 如何分发C++;依赖于其他库的库

C++ 如何分发C++;依赖于其他库的库,c++,git,dependencies,software-distribution,C++,Git,Dependencies,Software Distribution,最好的方法是什么 将依赖库作为git子模块添加到源代码中,并使用源代码构建它们 与#1相同,但不是git子模块,而是将克隆和构建工作卸载到构建系统中,如所述 不要构建依赖项,只需列出它们并让库用户处理它的安装(静态或动态地,不管他感觉如何) 将所有内容构建到一个巨大的静态库中,并对下游用户完全隐藏 使用由其他语言(如maven、ant、gradle、gem、pip)所著名的依赖项管理器之一。任何这些工作都能与C++库一起工作吗? 我在这里没有想到的更好的东西 我有一种合理的感觉,4是不可能的 我

最好的方法是什么

  • 将依赖库作为git子模块添加到源代码中,并使用源代码构建它们
  • 与#1相同,但不是git子模块,而是将克隆和构建工作卸载到构建系统中,如所述
  • 不要构建依赖项,只需列出它们并让库用户处理它的安装(静态或动态地,不管他感觉如何)
  • 将所有内容构建到一个巨大的静态库中,并对下游用户完全隐藏
  • 使用由其他语言(如maven、ant、gradle、gem、pip)所著名的依赖项管理器之一。任何这些工作都能与C++库一起工作吗?<李>
  • 我在这里没有想到的更好的东西
  • 我有一种合理的感觉,4是不可能的

    我一直在尝试使用#1,但我已经遇到了git子模块的不便

    我觉得#2类似于#1,但略好于#1,但如果你这样做了,你如何发展?您是在系统中安装依赖库,还是将它们保留在源代码树中(但不在源代码管理中)以模拟生成环境


    很多问题,但希望有一个最终的答案

    为什么4是不可能的?我想添加一个#7,它将使用一个安装程序,自动将依赖项与库一起打包。这将是我的一票。如果有人想从源代码构建,那么就给他们一个他们需要的列表。krowe,我关注的是开发人员库,而不是用户级安装包。andre,想象一下你的公司有200个项目使用这个库。如果使用#4,那么在库的每次使用中都有200个相同依赖项的副本。不太理想。什么样的C++库?源库还是运行库?您是针对其他开发人员还是有“最终用户应用程序”?