补充说明
autoreconf 是 Autoconf 工具链的编排器,按依赖顺序调用 aclocal、libtoolize、autoheader、autoconf、automake,把 configure.ac、Makefile.am 等源文件重新生成为 configure、Makefile.in、config.h.in 等分发产物。
从 Git 仓库克隆的项目通常不含这些生成文件,第一次构建前执行 autoreconf -fi 最省事。它只重新生成脚本,不执行 configure,也不编译代码。若工具版本不一致,生成文件可能产生较大 diff,提交前应确认项目约定。
语法
autoreconf [选项] [目录...]
选项
-f, --force:强制重建所有文件-i, --install:补齐缺失的辅助脚本-I DIR:追加 m4 宏搜索目录-s, --symlink:用符号链接放置辅助文件-v, --verbose:显示执行的子命令-W CATEGORY:设置警告类别
实例
# 从源码仓库首次构建的标准起手式
autoreconf -fi
# 只处理指定目录
autoreconf -fi ./libfoo
# 显示详细过程,便于排查失败步骤
autoreconf -fi -v
# 生成后按常规流程构建
./configure --prefix=/usr/local
make -j"$(nproc)"
sudo make install
若提示缺少 libtoolize,安装 libtool;若报 m4 宏未定义,检查对应开发包(如 pkg-config)是否安装。