Linux C/C++无ide下的编译工具的使用

本文详细介绍了一个简单的测试工程如何通过Automake和Autoconf等工具自动生成Makefile文件的过程,包括配置脚本Makefile.am和configure.ac的编写,以及利用一系列GnuAutotools工具进行编译和安装。

先做一个简单的测试工程描述,其目录和文件结构如下所述:工程的最高层目录test中有一个hello.c文件和lib、include两个子目录。在lib目录中有一个print.c文件,在include目录中有一个print.h文件。

  (1)为该工程编写automake的输入配置脚本Makefile.am,configure.ac 

  (2)使用GnuAutotools工具为该工程创建Makefile文件,并编译该工程。

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

1.Test4文件夹初始状态如下:

其中写好的hello.c    print.h     print.c  如下






2.安装autoconf等一系列工具



3.运行autoscan命令,来根据目录下的源代码先生成一个configure.in 的“模板文件”。


4.将configure.scan 改名为configure.in ,并且编辑它。并且按需要修改添加成如下:




5.分别执行aclocal 和 autoconf 命令,分别生成aclocal.m4 文件和configure文件



6.新建一个文件Makefile.am(用gedit 或vi等工具),内容如下



7.autoheader命令生成config.h.in,config.h.in用来帮助autoconf生成config.h,config.h给程序使用


//其实第6,7 个步骤应该换过来也行。


8.根据上面的Makefile.Am运行automake 来生成我们想要的Makefile.in

有一些必需的脚本文件,如“install-sh”、“missing”等,可以从automake软件包里复制过来,只需在执行时使用“--add-missing”选项即可。


看,可爱的Makefile.in 就生成了


9. 在终端中输入“./configure”并回车执行,就是执行第5步生成的configure配置脚本,该脚本根据第7步生成的config.h.in和第8步生成的Makefile.in的内容来生成Makefile文件。


到此,即生成了我们比较熟悉的Makefile文件,因为假如工程小的话,完全可以自己编写Makefile文件,无需用这之前的一连串的autotools的工具自动生成Makefile,如下


有了Makefile就能编译代码了


10. 利用make 命令即可生成目标程序。

利用make install命令,安装程序到本机器上。

 

make clean清理之前便已生成的可执行文件及目标文件。 

利用 make dist命令,可将程序和相关文档打包为一个 tar.gz的文件,便于发布。再另外的机器上解压,利用configure ,make,make install三部曲即可完成安装。

执行编译出来的hello 可执行程序




-,-过程实在是多,相信记录下来,以后会用的着的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值