基于automake构建工程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于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和可执行程序一起打包

以上是关于基于automake构建工程的主要内容,如果未能解决你的问题,请参考以下文章

Linux下automake工具使用(自动构建Makefile文件)

C++学习(三五九)GNU构建系统Autotools(autoconf automake libtool autoscan autoheader aclocal automake m4)

Linux下automake工具使用(自动构建Makefile文件)

Linux下automake工具使用(自动构建Makefile文件)

#导入Word文档图片# Linux下automake工具使用(自动构建Makefile文件)

automake 中的构建选项