autotools是一系列工具集,要使用这些工具当然首先要确认系统已经安装了下列工具:
autoscan
aclocal
autoconf
autoheader
automake
使用命令which ooxx可查看到命令的路径,如果没有就没装,用命令rpm -qa | grep automake 和命令rpm -qa | grep autoconf 看哪个包没有装(debin系列的就用类似的dpkg包管理命令查看)。
要说入门当然是使用路人皆知的hello world程序作为示范代码了:
//hello.c |
程序文件hello.c放在test目录中,确保此目录只有hello.c一个文件,下面就开始autotools旅程:
1:
运行命令$ autoscan 生成文件configure.scan,修改configure.scan,修改后文件内容如下(红色修改,蓝色添加):
# -*- Autoconf -*- |
相对原文件,其实就是修改了一行,添加了两行:
AC_INIT(hello,1.0)
AM_INIT_AUTOMAKE(hello,1.0)
AC_CONFIG_FILES([Makefile])
修改文件完毕后,为文件改名 $ mv configure.scan configure.in
2:
运行命令$ aclocal 生成aclocal.m4
3:
运行命令$ autoconf 生成configure
4:
运行命令$ autoheader 生成config.h.in,使程序可移植
5:
创建空文件Makefile.am,写入内容:
bin_PROGRAMS= hello |
6:
运行命令$ automake --add-missing 生成configure.in文件
7:
不出意外的话,其实到上面都已经完成所有步骤了,下面就是编译运行软件三步曲: configure && make && make install
这里没必要make install,直接运行当前目录下的hello文件即可:
[mgqw@localhost test]$ ./hello
hello word!
sec = 1.244798e+09
结束语:
上面的步骤只是简单介绍了autotools的使用过程,其中具体含义以及其他功能上百度/狗狗一搜一大把,记住百度/狗狗永远是我们最好的老师。