包含其他项目的源文件的最佳实践

时间:2014-01-21 22:49:49

标签: c++ makefile

我正在尝试为项目编写Makefile,这取决于其他几个项目(例如folly)。为了使用愚蠢的一些类,我在代码中包含了一些头文件。

#include <folly/dynamic.h>

愚蠢也依赖于另一个名为double-conversion的项目。所以我对Makefile的处理是为愚蠢添加一个标志(-lfolly,因为我已经make install)和-I/path/to/folly/src/ -I/path/to/double-conversion/src/ -L/path/to/double-conversion/

g++ ... -lfolly ... -I/path/to/folly/src/ -I/path/to/double-conversion/src/ -L/path/to/double-conversion/

然而,由于我想将我的项目分发给其他人并且我不想让他们在Makefile中破解所有这些路径的超长指令,这将是一个混乱。所以我想知道是否还有其他更好的做法来做同样的事情。特别是,我不认为在这里指定所有绝对路径是正确的。

1 个答案:

答案 0 :(得分:0)

了解如何使用配置脚本或cmake。这些工具应该自动执行流程以检查其他库的依赖关系,并根据用户的配置为用户的系统创建适当的Makefile / build。当他们运行脚本时,如果他们缺少任何依赖项,也会通知用户。