码迷,mamicode.com
首页 > 其他好文 > 详细

基于automake构建工程

时间:2020-01-08 17:21:06      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:工程   file   perl   tool   转换   头文件   版本不兼容   展开   acl   

在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构建工程

标签:工程   file   perl   tool   转换   头文件   版本不兼容   展开   acl   

原文地址:https://blog.51cto.com/14207158/2465162

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!