基于automake构建工程

在Linux平台,几乎所有工程都是基于Makefile进行编译的,在小型项目中,你可以手写Makefile,但是大型工程,手写Makefile处理起来很复杂,因此就需要使用automake进行构建工程

1.autoscan (autoconf):

扫描源代码以搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形。
然后直接将configure.scan该名为configure.ac,并编辑:configure.ac

2.aclocal (automake)

根据已经安装的宏,用户定义宏和acinclude.m4文件中的宏将configure.ac文件所需要的宏集中定义到文件 aclocal.m4中。aclocal是一个perl 脚本程序.

3.automake

automake将Makefile.am中定义的结构建立Makefile.in,然后configure脚本将生成的Makefile.in文件转换 为Makefile

4.autoconf

将configure.ac中的宏展开,生成configure脚本。这个过程可能要用到aclocal.m4中定义的宏。

5.configure

./configure 生成Makefile

6.编译

执行make

问题:

1.如果make时候出现libtool版本不兼容问题:执行 autoreconf -ivf 解决
2.LT_INIT : 再configure.ac脚本中,如果存在该宏定义,则动态可为跨平台交叉编译时候提供动态链接功能,但是需要将所需dll和可执行程序一起打包

猜你喜欢

转载自blog.51cto.com/14207158/2465162