Autoconfig/Automake工具使用实例

转载:http://www.cnblogs.com/xf-linux-arm-java-android/p/3590770.html 


在linux下编程的时候,有时候工程项目很大,文件比较多,此时需要使用自动创建Makefile文件功能。也就是使用Autoconf/Automake工具自动生成Makefile,为编译程序带来了方便,当前大多数软件包都是用此方法生成,Autoconf/Automake工具组主要包括autoconf,automake,perl,m4。

Autoconfig/Automake工具使用实例

一、首先建立编写一个C源程序文件,命名为hello.c,其代码很简单,就是hello world!程序。

二、使用Autoscan工具生成config.ac文件.

 

该文件的简要说明如下:

1、  AC_PREREQQ宏声明本文件要求的autoconf版本,这里是2.63

2、  AC_INIT定义软件的名称和信息。(DULL-PACKAGE-NAME为软件名,VERSION为软件的版本号,BUG-REPORT-ADDRESSbug的报告地址,一般为软件作者的邮箱)

3、  AC_CONFIG_SRCDIR用来侦测指定的源码文件是否存在,确定源码目录的有效性。此处为当前目录下hello.c

4、  AC_CONFIG_HEADER用于生成config.h文件,以便autoheader使用

5、  AC_PROG_CC用来指定编译器,以便不指定的时候默认为gcc

6、  AC_OUTPUT用来设定config要产生的文件。如果是Makefile,config会把它检查出来的结果带入Makefile.in文件产生合适的Makefile.

三、获得并且修改configure.ac

#cp configure.scan configure.ac

并作以下的修改

这里注意重要的一点:AM_INIT_AUTOMAKE宏需要自己进行添加,它是automake所必备的宏。

三、使用aclocal工具生成aclocal.m4

四、使用autoconf工具生成configure文件

五、使用autoheader工具生成config.h.in文件

六、创建Makefile.am文件

Automake工具会根据config.in中的参量把Makefile.am转换成Makefile.in文件。在使用Automake之前,要先手动建立Makefile.am文件。

几点需要说明:

1AUTOMAKE_OPTIONS为设置的Automake选项。它有三种等级提供给用户选择:foreigngnu,gnits,默认等级为gnu.在此使用foreign,它只检测必须的文件。

2bin_PROGRAMS定义要产生的执行文件名。如果要产生多个可执行文件,则每个文件名用空格隔开。

3hello_SOURCES定义为hello这个程序所需要的原始文件。如果其石油多个文件组成的,则必须用空格进行隔开。

七、使用Automake生成Makefile.in文件

要使用选项“--add-missing”可以让Automake自动添加一些必要的脚本文件。如下

八、配置。

运行自动配置设置文件configure,把Makefile.in编程最终的Makefile

九.测试

运行Make命令进行编译。然后运行hello程序。

 

其他相关资料链接:

https://www.ibm.com/developerworks/cn/linux/l-makefile/

http://www.gnu.org/software/autoconf/manual/autoconf.html#Redefined-M4-Macros

http://www.gnu.org/software/automake/manual/automake.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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、付费专栏及课程。

余额充值