有没有人见过这样的东西:
在使用 autotools 的项目中运行 make 时,它总是重新构建一切。使用 make -d 运行,表明 make 会查找 foo.lo 文件,并且因为找不到它们,所以总是重新编译 foo.c。
它似乎与 builddir != srcdir 有关。.lo 文件当然在 builddir 中。但显然 make 或 libtool 正在其他地方期待它们:
调试输出看起来像这样:
先决条件/path/to/srcdir/foo.h' is older than target
foo.lo'。/path/to/builddir/.deps/foo.Plo:1 必须重新制作目标“foo.lo”。
更新似乎问题是由 AC_PROG_LIBTOOL 引起的。根据文档,它希望将一个名为 top_builddir 的变量设置为构建目录。设置它的标准方法是什么?是否有用于此的 autoconf 宏?