【发布时间】:2023-03-14 18:10:01
【问题描述】:
我在一家公司工作,他们构建了一个项目,该项目由不同的开发团队分别开发的组件分开。 C++ 中的一切。
他们使用许多共同的库并管理所有库,他们创建了一个工具来以某种方式关联项目的版本和库的版本。
问题是市场上是否存在一些已经做到这一点的工具:
我的意思是,如果我使用这个工具,我可以下载例如我们项目的 4.0 版本,它恰好具有库 1 的 4.5 版本和库 2 的 3.4 版本。如果我点击“下载”,我将下载这个整个(项目+库)项目的源代码(或二进制)以及每个库的具体版本。
例如,如果我想下载公司其他开发人员的另一个项目,使用不同版本或平台的相同库,我只需要选择它,然后将下载项目 2 库 1 版本 5.0 和库 2 2.5 ,等等。
市场上是否有任何工具可以让我大声创建类似的关系,顺便说一句,与代码仓库(在我们的案例中为 gitlab)连接?
我检查了 Gradle、Conan ......但他们构建,而不是管理组件之间的“关系”。
类似的东西:
【问题讨论】:
-
你检查 build2 了吗?
-
Linux 包管理器已经完成了这一切。它们会自动分析每个可执行文件的共享库依赖关系;并假设依赖的共享库已正确版本化,它们将在安装时强制执行依赖关系。简短的回答:将您的应用程序转换为 Linux。如果它们已经在 Linux 上,请修复您的共享库版本(那么它们必须被破坏)并让 Linux 的包管理器完成他们的工作。
-
一切都在 Windows 中完成,使用 VS2010 和可视化编译器。没有选择更改工具和平台进行开发。遗憾的是,这根本不可能,因为我们稍后还会使用其他工具为实时系统进行编译。
-
Gradle 绝对管理特定的依赖版本!我一直在使用它!
-
柯南还管理特定的依赖版本。
标签: c++ package-managers