补充说明
autoconf 是 GNU Autoconf 的核心命令,把包含 AC_INIT、AC_CHECK_* 等 m4 宏的 configure.ac 展开为独立 shell 脚本 configure。用户随后运行 ./configure && make,即可在目标机器上探测头文件、库、编译器特性并生成 Makefile。
它通常与 automake、libtool、pkg-config 配合。手工依次调用容易漏步骤,推荐直接 autoreconf -fi。修改 configure.ac 后必须重新生成 configure,否则改动不会生效。
语法
autoconf [选项] [模板文件]
选项
-o FILE:指定输出文件,默认configure-I DIR:追加 m4 宏搜索目录-f:强制重新生成,忽略缓存-v:显示处理过程--trace=MACRO:跟踪指定宏的展开位置--help、--version:帮助与版本信息
实例
# 在项目根目录生成 configure
autoconf
# 指定模板与输出文件
autoconf -o configure configure.ac
# 使用自定义宏目录并强制重建
autoconf -f -I m4
# 推荐:一次性重建整条工具链产物
autoreconf -fi
# 生成后验证脚本语法
sh -n configure
若报错 “possibly undefined macro”,通常是缺少宏包或没有先运行 aclocal -I m4;检查 aclocal.m4 是否包含对应宏定义。