Linux 命令速查
开发工具 man autoheader

autoheader

为 configure.ac 生成 config.h.in 模板

返回

补充说明

autoheader 是 GNU Autoconf 的配套命令。它扫描 configure.ac 中的 AC_DEFINE、AC_CHECK_FUNCS 等宏,生成 config.h.in,其中每个配置项都写成 #undef 占位;随后 configure 会据此生成 config.h,供源码用 #include "config.h" 使用。

只有使用 AC_CONFIG_HEADERS(旧写法 AM_CONFIG_HEADER)的项目才需要 config.h.in。手工修改 configure.ac 后若忘记运行 autoheader,可能出现 config.h.in 缺少宏、autoheader 未定义符号等问题,推荐直接 autoreconf -fi。

语法

autoheader [选项]

选项

  • -o FILE:指定输出文件,默认 config.h.in
  • -f:即使输出文件较新也强制重建
  • -I DIR:追加 m4 宏搜索目录
  • -v:显示处理过程
  • --help、--version:帮助与版本信息

实例

# 在项目根目录生成 config.h.in
autoheader

# 强制重建,并加入 m4 宏目录
autoheader -f -I m4

# 检查生成结果中的配置占位
grep '^#undef' config.h.in | head

# 完整重建工具链产物(推荐)
autoreconf -fi

若项目没有声明 AC_CONFIG_HEADERS,autoheader 会提示没有可生成的内容,这是正常现象,无需强行创建 config.h。

参考链接