GNU Autotools [一]
GNU Autotools [一]
文章目录
- GNU Autotools [一]
- Autotools
- 系列工具包:Autoconf、Automake、Libtool
- 工具安装
- 手动安装:
- Autotools自动创建Makefile流程
- 示例:
- 工具的发展史
- linux发行版
Autotools
系列工具包:Autoconf、Automake、Libtool
工具安装
检测系统是否已经安装:which autoconf 自动安装:apt install autoconf automake libtool 需要依赖的包:m4\perl\autotools-dev\autoconf-archive\gnu-standards\ autobook …
手动安装:
»下载对应.tar.gz源码包;解压tar xvf *.tar.gz »编译:./configure;make;make install
Autotools自动创建Makefile流程
•生成Makefile的通用规则文件Makefile.in •(1)手工编写Makefile.am文件
•(2)#automake:将Makefile.am->Makefile.in •生成配置脚本configure •(1)#autoscan:生成configure.scan ->configure.ac
•(2)修改、配置configure.ac
•(3)#aclocal:生成aclocal.m4,存放autoconf运行需要的宏
•(4)#autoconf:将configure.acàconfigure •通过configure生成Makefile •(1)#./configure:Makefile.inàMakefile
•(2)#make;make install
示例:
在autotools下创建hello.c
用autoscan生成configure.scan
mv configure.scan configure.ac
修改configure.ac
1 # -*- Autoconf -*-2 # Process this file with autoconf to produce a configure script.3 4 AC_PREREQ([2.69])5 AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS]) //FULL-PACKAGE-NAME 为软件包名, 6 AC_CONFIG_SRCDIR([hello.c])7 AC_CONFIG_HEADERS([config.h])8 9 # Checks for programs.10 AC_PROG_CC11 12 # Checks for libraries.13 14 # Checks for header files.15 16 # Checks for typedefs, structures, and compiler characteristics.17 18 # Checks for library functions.19 20 AC_OUTPUT
1 # -*- Autoconf -*-2 # Process this file with autoconf to produce a configure script.3 4 AC_PREREQ([2.69])5 AC_INIT(hello, 1.0, mail.original.com)6 AC_CONFIG_SRCDIR([hello.c])7 AC_CONFIG_HEADERS([config.h])8 AM_INIT_AUTOMAKE //使用Automake编译9 10 # Checks for programs.11 AC_PROG_CC12 13 # Checks for libraries.14 15 # Checks for header files.16 17 # Checks for typedefs, structures, and compiler characteristics.18 19 # Checks for library functions.20 21 AC_OUTPUT(Makefile) //指定输出文件 Makefiel22 23
aclocal:生成aclocal.m4,存放autoconf运行需要的宏
autoconf:将configure.ac->configure
创建 Makefile.am
autoheader 生成配置文件
automake --add-missing(-a) 生成隐式配置
编译
./configuremakemake installmake uninstall
工具的发展史
linux发行版
GNU Autotools [一]相关推荐
- Autobook中文版(七)—9.一个小的GNU Autotools项目
9.一个小的GNU Autotools项目 本章介绍一个真实的小例子,演示一些GNU Autotools具有的特性,指明一些GNU Autotools使用上的陷阱.所有的源码能被下载从本书的主页上.这 ...
- GNU Autotools 简介
如果你还没有使用过 Autotools,本教程将改变你交付代码的方式. 图片来源: 亚历克斯·桑切斯.CC BY-SA 4.0. 你有没有下载过一个流行的软件项目的源代码,需要你输入几乎仪式化的./c ...
- 《Autotools – GNU Autoconf, Automake与Libtool实践者指南》第一章
最近项目中有用到此部分工具,所以在此转载一篇相关文章,如有侵权,请留言告知! 转载于http://www.xuebuyuan.com/2147621.html 前言 本文根据<Autotools ...
- 使用 GNU Libtool 创建库
介绍 在不同的系统中建立动态链接库的方法有很大的差别,这主要是因为每个系统对动态链接库的看法和实现并不相同,以及编译器对动态链接库支持的选项也不太一样.对于开发人员,如果尝试将使用动态库的软件在这些系 ...
- 转载:使用 GNU Libtool 创建库
转载自:http://www.ibm.com/developerworks/cn/aix/library/1007_wuxh_libtool/ 介绍 在不同的系统中建立动态链接库的方法有很大的差别,这 ...
- autotools入门笔记(一)
GNU autotools作用:收集系统配置信息并自动生成Makefile文件. GNU autotools主要包括三个工具:autoconf.automake.libtool,还有很多辅助的工具,包 ...
- GNU toolchain —— (一)介绍
GNU工具链(GNU toolchain)是一个包含了由GNU项目所产生的各种编程工具的集合.这些工具形成了一条工具链(串行使用的一组工具),用于开发应用程序和操作系统. GNU工具链中包含的项目有: ...
- 使用autotools自动生成Makefile并在此之上使用dh-make生成可发布的deb程序包(详解)
一.前言 本文将介绍如何使用autotools生成一个Makefile文件,并在此基础上使用dh-make和debuild生成一个可发布的deb程序包,这也是我们在Linux下开发应用程序以及想要发布 ...
- TQ2440开发板学习纪实(0.1)--- GNU Freestanding(Naked)C ARM交叉开发环境创建与测试
0 由来 在我的博文 GNU ARM交叉汇编环境的搭建与测试中,详细讲解了GNU ARM汇编环境的创建与使用方法.实际开发中,直接使用汇编语言写的代码往往很少,尽在系统启动和性能要求极其苛刻的时候才会 ...
最新文章
- 快过HugeCTR:用OneFlow轻松实现大型推荐系统引擎
- 找工作,我该如何是好?
- office online server收费吗_上海公司注册价格有乱收费吗?
- bzoj4152 The Captain (dijkstra)
- 通过极简模拟框架让你了解ASP.NET Core MVC框架的设计与实现[中篇]:请求响应
- 简述垃圾对象产生_使用零垃圾创建数百万个对象
- 在WPF里面显示DIB图片格式的图片
- Spring Boot,Sprint Batch 学习
- Oracle根据外键名称查找关联的表与列
- 【直播礼物特效】vap原理图理解
- java源文件结构_Java源文件结构详解
- 中文可以声明java类吗_JSP中可以声明基本类型和结构类型变量,但不能申明类,类必须放在JavaBean中。...
- Vue 爬坑之旅 -- 用自定义指令解决 IOS 12 中键盘收起后页面底部有留白的问题
- MQTT在线公共的MQTT服务器
- 唐伯虎的诗,可能是改编的
- 关于论文图的排版(origin)
- LVS负载均衡群集(NAT模式)
- 第十三届蓝桥杯(Web 应用开发)线上模拟赛【第三题】(封装函数实现个人所得税计算器)
- Linux修改时间失败的解决办法
- BZOJ 1812 IOI 2005 riv
热门文章
- AI智能营业厅视频监控解决方案
- 登录中国专利电子申请网的正确姿势
- 在网上购物竟然也能和Python扯上关系!电脑上用自己写的程序购物?别说,QT实现还真挺简单(Python如何利用QT制作电脑的手机版拼多多)
- java安装 1723_2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-准备阶段...
- 图解 | JavaScript的作用域和作用域链
- Python代码实现两张图片的拼接
- 复现笔记--有关极性码的两篇文章
- pyspider创建淘女郎图片爬虫任务-运行流程解析
- html 移动端缩小显示图片,Vue移动端可放大缩小图片vue-photo-preview
- Apache Kafka实战读书笔记(推荐指数:☆☆☆☆☆)