Linux下如何使用autotools(autoconf/automake)

编写了一个Linux下发送udp数据包的程序,现要创建Makefile文件,方便以后安装,以下为我的安装过程记录。程序代码就不公布了,保密。

。。。。。此处省略代码一万行。。。。。

1.生成configure.in

命令:autoscan

结果得到configure.scan文件,将该文件名改为configure.in。修改configure.in部分内容如下

AC_PREREQ([2.63])
AC_INIT(sms, 2.4.5,[BUG-REPORT-ADDRESS])
AM_INIT_AUTOMAKE(sms, 2.4.5)
AC_CONFIG_SRCDIR([sms.c])
AC_CONFIG_HEADERS([config.h])

。。。。。。

2.命令 aclocal

3.命令 autoconf

4.新建文件Makefile.am,编辑文件内容

AUTOMAKE_OPTIONS= foreign

bin_PROGRAMS= sms

sms_SOURCES= util.c mdbpool.c proc.c sms.c

CFLAGS= -L /usr/include/mysql -lmysqlclient -D_GNU_SOURCE -g

5.命令automake –add-missing

configure.in: installing  ‘./install-sh’
configure.in: installing  ‘./missing’
automake: no `Makefile.am’ found for any configure output
automake: Did you forget AC_CONFIG_FILES([Makefile]) in configure.in?

碰到这情况,我们要修改下configure.in文件,最后一行AC_OUTPUT前面增加一行:
AC_CONFIG_FILES([Makefile])

再执行一次automake

configure.in:8: required file `config.h.in’ not found
Makefile.am: installing `./depcomp’

还缺少个文件 config.h.in,这时我们执行命令autoheader

config.h.in文件生成好了,我们再重新执行一次autoconf和automake

6.接下来就是Linux下经典的三步安装了:./configure & make & make install

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值