9

这里已经有一些关于依赖管理器的问题,但在我看来,它们主要是关于构建系统,而我正在寻找纯粹是为了使依赖跟踪和解决更简单的东西(而且我不一定有兴趣学习新的构建系统)。

所以,通常我们有一个项目和一些与另一个项目的通用代码。这个通用代码被组织成一个库,所以当我想为一个项目获取最新的代码版本时,我也应该从源代码管理中获取所有的库。为此,我需要一个依赖项列表。然后,为了构建项目,我也可以重用这个列表。

我看过 Maven 和 Ivy,但我不确定它们是否适合 C++,因为它们看起来非常面向 Java(即使可能有 C++ 插件,我还没有找到推荐它们的人) .

我认为它是一个 GUI 工具,可以生成一些标准化的依赖项列表,然后可以由不同的脚本等进行解析。如果它可以与源代码控制(标记、获取带有依赖项的标记版本等)集成,那就太好了,但这是可选的。

你有什么建议吗?也许我只是遗漏了一些东西,通常它是以其他方式完成的,不需要这样的工具?谢谢。

4

2 回答 2

2

您可以通过两种方式将 Maven 与 C++ 结合使用。首先,您可以将其用于组件之间的依赖关系管理。其次,您可以使用 Maven-nar-plugin 创建与 boost 库相关的共享库和单元测试(我的经验)。最后,您可以从中创建 RPM(maven-rpm-plugin)以获得足够的安装介质。此外,我通过 Maven 创建了 CI 环境的安装(Hudson 的 RPM,RPM 中的 Nexus 安装)。

于 2011-01-04T19:50:11.497 回答
1

我不确定您是否会将版本控制系统 (VCS) 视为构建工具,但 Mercurial 和 Git 支持子存储库。在您的情况下,子存储库将是您的依赖项:

使用您的 VCS 归档构建结果——无论如何都需要维护——并参考构建环境中的库和头文件。

如果您正在寻找参考,请查看https://android.googlesource.com/platform/manifest

于 2011-01-04T17:52:00.047 回答