基于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文件)