这里已经有一些关于依赖管理器的问题,但在我看来,它们主要是关于构建系统,而我正在寻找一些纯粹的目标,使依赖关系跟踪和解决方案更简单(和我不一定对学习新的构建系统感兴趣。
因此,通常我们有一个项目和一些与另一个项目共同的代码。这个公共代码被组织为一个库,所以当我想获得项目的最新代码版本时,我也应该从源代码控制中获取所有库。为此,我需要一个依赖项列表。然后,为了构建项目,我也可以重用这个列表。
我看过Maven和Ivy,但我不确定它们是否适合C ++,因为它们看起来非常以Java为目标(即使可能有C ++插件,我还没找到人推荐他们。)
我将其视为一个GUI工具,生成一些标准化的依赖列表,然后可以通过不同的脚本等进行解析。如果它可以与源代码控制集成(标记,获取带有依赖项的标记版本等)会很好,但那是可选的。
你有什么建议吗?也许我只是缺少一些东西,通常它是以其他方式完成而不需要这样的工具?感谢。
答案 0 :(得分:2)
您可以通过两种方式使用Maven与C ++的关系。首先,您可以将它用于彼此之间的组件依赖性管理。其次,您可以使用Maven-nar-plugin创建与boost库(我的经验)相关的共享库和单元测试。最后,您可以创建RPM(maven-rpm-plugin)以获得足够的安装介质。此外,我已经通过Maven创建了CI环境的安装(RPM用于Hudson,Nexus安装在RPM中)。
答案 1 :(得分:1)
我不确定您是否会将版本控制系统(VCS)视为构建工具,但Mercurial和Git支持子存储库。在您的情况下,子存储库将是您的依赖项:
使用您的VCS存档构建结果 - 无论如何都需要进行维护 - 并参考构建环境中的库和头文件。
如果您正在寻找参考资料,请查看https://android.googlesource.com/platform/manifest。