Mac OS/Linux下automake的流程

参考: http://hi.baidu.com/yetao19860606/item/033148eb42fd9a3387d9de78

 

经常需要写一些小工具,这些工具有时候简单的就用python,性能高一点的就需要c,而我又喜欢用命令行和vi写程序,所以写makefile自然就成了麻烦中的麻烦了,不过好在可以使用automake,不过网上并没有很详细的说automake如何使用(都是东说一块西说一块的),查了一下然后整理了一下,发上来,就当自己做笔记,也方便了后面的人,高手自然自动飘过即可。

首先我们假设在这个目录下已经有一些代码了,例如main.c,我们使用automake来创建makefile,步骤如下。

1)首先在目录下运行autoscan。
2)修改configure.scan为configure.in。
3)编辑configure.in

# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
# 这下面都是需要填写的内容,如包的名称,版本号和bug报告的邮箱
AC_INIT(FULL-PACKAGE-NAME, VERSION, BUG-REPORT-ADDRESS)
AC_CONFIG_SRCDIR([main.c])
AC_CONFIG_HEADER([config.h])
# Checks for programs.
AC_PROG_CC
# Checks for libraries.
# Checks for header files.
# Checks for typedefs, structures, and compiler characteristics.
# Checks for library functions.
AC_OUTPUT

我们可以看到上面的默认配置,我们修改一下配置,修改后就成了下面这个样子。

# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

 

AC_PREREQ(2.61)
# 添加我们的配置,如包的名称为helloworld,版本0.1,邮箱等
AC_INIT(helloworld, 0.1, soundbbg@gmail.com)
AC_CONFIG_SRCDIR([main.c])
AC_CONFIG_HEADER([config.h])
# 添加一些基本配置
AM_INIT_AUTOMAKE(main, 1.0)
# Checks for programs.
AC_PROG_CC

# Checks for libraries.

# Checks for header files.

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.
# 在这里添加输出makefile
AC_OUTPUT([makefile])

4)修改完成后退出,运行aclocal。
5)运行完成后运行autoheader

6)完成之后,我们创建一个makefile.am,并修改如下。

AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=main

main_SOURCES=main.c

 

7)修改完成后运行automake –a

8) 运行 autoconf

9)运行完成后运行./configure

OK我们的makefile就生成好了,这个时候只要我们make一下就可以编译程序了。编译完成后可以运行./xxxx 来运行自己的程序。

 

 

 

 

(大致生成流程图如下:)

 

图 2生成Makefile流程图 

 

 

### 回答1: /build_dir/host/automake-1.15/.configured' failed是一个错误信息,意思是构建目录中的automake-1.15版本的配置文件失败了。 automake是一个自动构建工具,用于生成Makefile.in文件。配置文件负责设置构建过程中的各种参数和选项。如果配置文件生成失败,将会导致构建过程无法进行。 这个错误可能由于多种原因引起,例如构建环境中缺少依赖的软件包、文件系统权限不足或是配置文件本身存在问题等。 为了解决这个问题,我们可以尝试以下几个步骤: 1. 检查依赖软件包是否已安装:在构建过程中,可能需要依赖其他软件包。我们可以使用包管理器来检查这些依赖的软件包是否已正确安装。 2. 确保文件系统权限:检查构建目录及其父目录的权限设置。如果没有足够的权限,配置文件生成可能会失败。尝试使用sudo或管理员权限运行构建过程。 3. 检查配置文件是否正确:如果配置文件本身存在问题,可以尝试查看详细的错误日志,找出具体的配置错误,并进行相应的修复。 4. 更新automake版本:如果当前使用的automake版本较旧,可以尝试更新到最新版本,以解决已知的问题和错误。 总之,解决/build_dir/host/automake-1.15/.configured' failed错误需要仔细检查并确认构建环境和配置文件的正确性,并采取适当的措施来修复问题。 ### 回答2: 这个错误提示是在构建目录下运行Automake 1.15的时候出现了问题。可能有以下几个原因导致此错误: 1. automake-1.15版本未正确安装:请确保已经正确安装了automake-1.15版本,并且安装路径正确。可以通过运行命令`automake --version`来检查版本是否正确安装。 2. .configured文件权限问题:请确保.build_dir/host/automake-1.15/目录下的.configured文件具有足够的权限,以便Automake可以正确读取和写入该文件。可以使用`ls -l .configured`命令来检查文件权限,并通过`chmod`命令为文件设置正确的权限。 3. 构建环境配置问题:请确保构建环境的配置正确,包括路径设置、依赖库安装等。可能需要检查相关的环境变量和配置文件,确保构建目录下的automake-1.15可以正确访问相关的依赖项。 4. 构建目录下的配置文件错误:检查.build_dir/host/automake-1.15/目录下的配置文件是否正确,可能存在错误的配置项导致运行失败。可以尝试删除此目录并重新运行构建脚本,以生成正确的配置文件。 如果以上方法都无效,建议查看具体的错误信息以及生成的日志文件,以便更准确地定位问题并解决。可以结合相关的构建指南或者开发文档来排查这个错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值