autotools自动编译系列之一---autotools安装

本文介绍了在复杂的Linux项目中如何利用Autotools简化Makefile的创建过程。Autotools包括autoscan、aclocal、autoconf、autoheader和automake等工具,它们通过一系列步骤自动生成Makefile,帮助开发者更高效地管理项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.介绍

Linux环境下,我们编译程序啥的都是一般用的GCC&&GDB等等工具,直接使用GCC命令进行编译操作。这种方式一般是适用于程序文件比较少,组织结构比较简单的情况。但是,当我们程序文件比较的多的时候,或者是程序文件组织结构比较的复杂(例如在程序文件夹中存在文件夹多层嵌套以及复杂引用等),此时我们如果是直接使用GCC一点一点的编译工作量会非常的大,而且万一程序修改了,还要重新的再工作一遍。为此,我们有了make工具,依靠Makefile辅助文件,我们可以方便的进行工程的管理,以及编译操作。当程序很复杂的时候,依靠我们去手工的建立、维护Makefile文件是非常的不现实的,不仅很复杂,而且费时费力,还容易出错。为此,就有了我们的_Autotools_工具,只要输入工程中的目标文件、依赖文件、文件目录等信息就可以自动生成Makefile。这时使用autotools工具就是一个不错的选择,只要输入工程中的目标文件、依赖文件、文件目录等信息就可以自动生成Makefile。autotools工具是个系列工具,主要有:aclocal、autoscan、autoconf、autoheader、automake。

2.autotools组成

名称功能 
autoscanautoscan是用来扫描源代码目录生成configure.scan文件的。configure.scan包含了系统配置的基本选项,里面都是一些宏定义。我们需要将它改名为configure.in
aclocalaclocal是一个perl脚本程序。aclocal根据configure.in文件的内容,自动生成aclocal.m4文件。aclocal的定义是:“aclocal - create aclocal.m4 by scanning configure.ac”。生成的aclocal.m4是宏展开文件
autoconfautoconf是用来产生configure文件的 configure.in文件的内容是一些宏,这些宏经过autoconf处理后会变成检查系统特性、环境变量、软件必须的参数的shell脚本
autoheader自动生成config.h.in在configure生成config.h时候的in文件
automake我们使用automake --add-missing来产生Makefile.in Makefile.am是用来生成Makefile.in的,需要你手工书写


3.autotools处理流程

Autotools使用流程:
1.目录树的最高层运行autoscan,生成configure.scan文件;
2.运行aclocal,生成aclocal.m4文件;
3.运行autoconf,生成configure配置脚本;
4.运行autoheader,生成config.h.in文件;
5.手工编写Makefile.am文件;
6.运行automake,生成Makefile.in;
7.运行配置脚本configure,生成Makefile。

 

4.autotools安装

[root@localhost ~]# yum install automake

安装包:

automake-1.13.4-3.el7.noarch.rpm
autoconf-2.69-11.el7.noarch.rpm
perl-Test-Harness-3.28-3.el7.noarch.rpm
m4-1.4.16-10.el7.x86_64.rpm

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值