学习如何使用 GNU Autotools 打包我的程序时遇到问题
Trouble with learning how to use GNU Autotools to package my program
我第一次尝试使用 GNU Autotools 来打包我的名为 MyShell 的 C 程序。我试过两次,但都失败了。我遵循了 this simple tutorial,但是我的程序不同之处以及导致问题的原因(我认为)是有 1 个 .h
文件和 5 个 .c
文件,而本教程仅使用一个.c
文件。
这是我的程序的文件结构:
MyShell/
- 自述文件
- 源/
src/
- CommandExecutor.c
- CommandReader.c
- ForkLauncher.c
- Main.c
- MyShell.h
- MyShellLoop.c
任何有关如何编写 Makefile.am 文件、configure.ac 文件等的指导,或任何有关使用 Autotools 编写更复杂程序的更详细的教程,我们将不胜感激。
编辑
这些是我使用的文件:
MyShell/src/Makefile.am
bin_PROGRAMS = MyShell
MyShell_SOURCES = Main.c
MyShell/Makefile.am
SUBDIRS = src
dist_doc_DATA = README
MyShell/configure.ac
AC_INIT([MyShell], [1.0], [<my email address>])
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_PROG_CC
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([
Makefile
src/Makefile
])
AC_OUTPUT
在我链接的教程中,configure.ac 文件有行
AC_CONFIG_HEADERS([config.h])
我应该用 MyShell.h
替换 config.h
吗?
MyShell_SOURCES = Main.c
这似乎是错误的。您需要列出所有源文件,including header files.
Should I have replaced config.h
with MyShell.h
?
没有。 config.h
应该由 configure
脚本从 config.h.in
文件生成。 "How"可以漂亮complex.
我第一次尝试使用 GNU Autotools 来打包我的名为 MyShell 的 C 程序。我试过两次,但都失败了。我遵循了 this simple tutorial,但是我的程序不同之处以及导致问题的原因(我认为)是有 1 个 .h
文件和 5 个 .c
文件,而本教程仅使用一个.c
文件。
这是我的程序的文件结构:
MyShell/
- 自述文件
- 源/
src/
- CommandExecutor.c
- CommandReader.c
- ForkLauncher.c
- Main.c
- MyShell.h
- MyShellLoop.c
任何有关如何编写 Makefile.am 文件、configure.ac 文件等的指导,或任何有关使用 Autotools 编写更复杂程序的更详细的教程,我们将不胜感激。
编辑
这些是我使用的文件:
MyShell/src/Makefile.am
bin_PROGRAMS = MyShell
MyShell_SOURCES = Main.c
MyShell/Makefile.am
SUBDIRS = src
dist_doc_DATA = README
MyShell/configure.ac
AC_INIT([MyShell], [1.0], [<my email address>])
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_PROG_CC
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([
Makefile
src/Makefile
])
AC_OUTPUT
在我链接的教程中,configure.ac 文件有行
AC_CONFIG_HEADERS([config.h])
我应该用 MyShell.h
替换 config.h
吗?
MyShell_SOURCES = Main.c
这似乎是错误的。您需要列出所有源文件,including header files.
Should I have replaced
config.h
withMyShell.h
?
没有。 config.h
应该由 configure
脚本从 config.h.in
文件生成。 "How"可以漂亮complex.