c - 使用 autotools 时原始 .h 文件会发生什么情况?
问题描述
我正在用 C 创建一个 shell。我创建的 .tar.gz 文件工作得很好。但是,当我解压缩此文件时,我用于生成所述文件的原始头文件已更改为包含 autotools 使用的代码。有没有办法保留原始 .h 文件?
作为参考,这是我的 configure.ac:
AC_INIT([program_name], 1.0)
AM_INIT_AUTOMAKE
AC_PROG_CC
AC_CONFIG_HEADERS([shell.h])
AC_CONFIG_FILES(Makefile)
AC_OUTPUT
Makefile.am 程序是:
bin_PROGRAMS = shell
shell_SOURCES = main.c functions.c
我希望当我 cat shell.h 时,我会看到我制作的原始 #include 和 #define 。然而,它只有典型的 autotools #defines 关于包和版本号。
对此的任何帮助,以及解释这里实际发生的事情将不胜感激,所以我不再这样做了。
解决方案
AC_CONFIG_HEADERS
(文档) 输出一个 Autoconf 生成的头文件,其中包含有关包和用于编译它的环境的信息。
通常会调用此文件,config.h
但您似乎已经调用它shell.h
覆盖shell.h
了您手动创建的另一个文件,我猜?
如果是这种情况,解决方案是在AC_CONFIG_HEADERS
.
推荐阅读
- go - 如何仅将一个文件部署到谷歌应用引擎?
- javascript - 如何使用 Jenkins 在 CI 中的 Cypres 仪表板中填充作者、分支、提交、消息?
- angular - 路由器不工作当我需要打开另一个页面时
- java - 如何在 Android Studio 中延迟 getOutputStream().write()?
- python - Plotly.GO(图形对象)和动画
- regex - 正则表达式:匹配“开始”和“结束”,除非包含“否”
- javascript - 如何根据 Google 表格上的列自动在 Google 表单中添加问题?
- flutter - 为什么我需要多次运行带有 if 语句的函数才能到达其他语句?
- python - 获取每小时数据
- javascript - FormControl 验证器始终无效