繁体   English   中英

学习如何使用 GNU Autotools 打包我的程序时遇到问题

[英]Trouble with learning how to use GNU Autotools to package my program

我第一次尝试使用 GNU Autotools 来打包名为 MyShell 的 C 程序。 我已经尝试过两次,但两次都失败了。 我遵循了这个简单的教程,但是我的程序不同的地方以及导致问题的原因(我认为)是有 1 个.h文件和 5 个.c文件,而本教程仅使用一个.c文件。

这是我的程序的文件结构:

我的壳/

  • 自述文件
  • 来源/

来源/

  • 命令执行器
  • 命令阅读器
  • ForkLauncher.c
  • 主文件
  • MyShell.h
  • 我的ShellLoop.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

这似乎是错误的。 您需要列出所有源文件, 包括头文件

我应该用MyShell.h替换config.h吗?

config.h应该由configure脚本从config.h.in文件生成。 “如何”可能非常复杂

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM