【发布时间】:2011-10-24 06:12:21
【问题描述】:
我们有一个项目需要链接到 libcurl 和 libxml2 以及其他库。我们似乎基本上有两种策略来管理这些依赖关系:
要求每个开发人员将这些库安装在“常用”位置下,例如
/usr/lib,或将这些库的源代码包含在项目源代码树中的专用文件夹下。
方法 1 要求每个人都确保将这些库安装在他们的系统上,但似乎是许多开源项目使用的方法。在此类项目中,构建将检测到这些库丢失并失败。
在某些情况下,方法 2 可能会使项目树变得难以管理,并使编译时间变得更长。此外,这种方法显然可能走得太远。例如,我不会将编译器放在项目树下(对吗?)。
什么是外部依赖的最佳实践?可以/应该要求每个开发人员安装某些库来构建项目吗?还是认为在项目树中包含所有依赖项更好?
【问题讨论】:
标签: c build dependencies