我正在尝试为项目编写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中破解所有这些路径的超长指令,这将是一个混乱。所以我想知道是否还有其他更好的做法来做同样的事情。特别是,我不认为在这里指定所有绝对路径是正确的。
答案 0 :(得分:0)
了解如何使用配置脚本或cmake。这些工具应该自动执行流程以检查其他库的依赖关系,并根据用户的配置为用户的系统创建适当的Makefile / build。当他们运行脚本时,如果他们缺少任何依赖项,也会通知用户。