autoconf & automake

iOS开发中使用protobuf遇到的一些问题 Protocol Buffers 是googol提供的,一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。 项目中对通讯协议部分的数据处理时,使用protobuf对socket的字节 阅读详情
真正从事了linux distribution 的开发工作之后,发现autoconf & automake 是必须掌握的工具了。之前做手机的时候,曾经接触过,当时很是好奇,后来在天津图书馆还看到一本书的一章讲过autoconf & automake。

不过,却是现在才对autoconf & automake 有了深入的理解。

转载几篇参考博客:

http://www.ibm.com/developerworks/cn/linux/l-makefile/

http://blog.youkuaiyun.com/kasagawa/article/details/6885998

http://www.cnblogs.com/itech/archive/2010/11/28/1890220.html

http://linux.chinaunix.net/techdoc/system/2009/02/05/1060775.shtml


练习实例:

$cd ~

$mkdir helloworld

$cd helloworld

$vim helloworld.c

#include <stdio.h> 
#include <stdlib.h> 
 
int main(int argc,char* argv[]) 
{ 
        printf("Hello World!\n"); 
        return 0;        
} 


$autoscan

生成如下文件:

autoscan.log  configure.scan  helloworld.c

$mv -v configure.scan configure.in

#                                               -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.67])
AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])
AC_CONFIG_SRCDIR([helloworld.c])
AC_CONFIG_HEADERS([config.h])

# Checks for programs.
AC_PROG_CC

# Checks for libraries.

# Checks for header files.
AC_CHECK_HEADERS([stdlib.h])

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.

AC_OUTPUT

将configure.scan 重命名为configure.in, 并将其内容修改如下:

#                                               -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.67])
AC_INIT(helloworld, 1.0, qc@gmail.com)
AC_CONFIG_SRCDIR([helloworld.c])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE(helloworld, 1.0)

# Checks for programs.
AC_PROG_CC

# Checks for libraries.

# Checks for header files.
AC_CHECK_HEADERS([stdlib.h])

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.

AC_OUTPUT(Makefile)

$aclocal

生成aclocal.m4 文件

$autoconf

生成 configure文件。

$autoheader

生成config.h.in 文件

$ vim Makefile.am

AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=helloworld
hello_SOURCES=helloworld.c

$ automake --add-missing

$ ./configure

$ make

至此为止就完成了helloworld.c 的Makefile 生成,到最终的make 编译。

当然可以继续make install 将helloworld 程序安装到/usr/local/bin 目录下面。

make dist 将程序打包成压缩包。


linux: make & autoconf & automake & autoreconf & aclocal recipe规则的基本定义语法,如上;target是目标文件,编译生成的输出文件。目标也可以是一项操作,比如,经常用到的clean操作。prerequisties,前提条件,就是生成目标文件所需的输入。recipe是make工具要完成的一系列操作。(这里target是output,prerequisties是input,recipe是从input到outpu的一系列操作) 阅读详情

相关推荐

避坑指南:vue-print-nb打印隐藏元素与空白页的那些事儿

本文深入解析了使用vue-print-nb插件时,打印出现空白页及隐藏元素问题的根本原因与解决方案。核心在于理解浏览器打印原理,并通过CSS媒体查询精准控制样式。文章提供了从重置根元素高度、处理隐藏元素到控制分页的完整避坑指南,帮助开发者彻底解决打印样式难题。

weixin_29008691的博客 437

autoconf和automake的使用

使用autoconf和automake两个工具可以自动生成符合自由软件惯例的Makefile,这样就可以象常见的GNU程序一样,只要使用“./configure”,“make”,“make instal”就可以把程序安装到Linux系统中去了。 Makefile Makefile是一个文件,定义整个工程的编译规则。Makefile是用于自动编译和链接的,纪录有文件的信息,在make时会决定在链接的...

LU_ZHAO的博客 384

LangChain4j-针对性操作Function-call+系统预设角色

如果我们想要对一些敏感信息进行针对化的操作,不仅仅是接口大模型去进行回复。比如我们现在数据库里面有一些菜品,那么用户提问,店里有多少套餐,那么云端大模型肯定是不知道的,我们希望捕获这些关键字然后进行自己的业务查询或者处理,这个时候就可以使用function-call。

DDDDDouble的博客 454

automake 框架_大型项目使用Automake/Autoconf完成编译配置

大型项目使用Automake/Autoconf完成编译配置使用过开源C/C++项目的同学们都知道,标准的编译过程已经变成了简单的三部曲:configure/make/makeinstall,使用起来很方便,不像平时自己写代码,要手写一堆复杂的Makefile,而且换个编译环境,Makefile还需要修改(Eclipse也是这样)。这么好的东东当然要拿来用了,但GNU的Autotool系列博大精深...

weixin_39564524的博客 307

Android Camera Sensor HDR详解

本文详细介绍了Android相机传感器(Sensor)中实现高动态范围(HDR)采集的各种技术方式。主要内容包括: Sensor HDR技术分类 帧内HDR(Single-Frame HDR):在同一帧同一像素内完成多增益采集,无运动伪影和帧率损失,包括DAG(双模拟增益)、DCG(双转换增益)等技术 帧间HDR(Multi-Frame HDR):通过多帧曝光实现,如DOL(数字重叠)、Staggered HDR等 混合HDR:结合多种技术的复合方案 详细技术原理 重点解析了DAG和DCG两种主流帧内HDR

DU_YULIN的博客 360

Ansys Zemax与Speos协同设计:从HUD光学优化到驾驶环境可视化全流程解析

本文深入解析了如何利用Ansys Zemax与Speos进行协同设计,实现从HUD光学系统核心优化到驾驶环境可视化验证的全流程。文章强调了HUD设计是光学性能与视觉感知的深度耦合,通过Zemax进行精密光学设计,再利用Speos进行系统级仿真与感知模拟,最终完成从虚拟到现实的闭环验证,有效提升HUD产品的开发效率与可靠性。

weixin_29199873的博客 247

autoconf与automake使用简解

文章目录总结1. 安装automake,创建hello.c文件2. 使用autoscan自动检查hello.c编译所需的文件等3. 执行aclocal,生成aclocal.m4 配置文件4. 执行autoconf,生成configure文件5. 执行autoheader,生成config.h.in6. 创建Makefile.am文件,写入相关内容7. 根据实际情况创建常用文档文件8. 执行automake,生成Makefile.in9. 执行./configure生成最终的Makefile10. 运行mak

熹微橙光的博客 1357

使用LogisticRegression和LightGBM模型对信贷违约进行预测----基于kaggle比赛数据

3.分离数值型变量与类别型变量,发现有些数值型变量因为输入不规范,比如数值中含有字符(28_,_10000_等)被划分为类别型变量 ,比如 'Age','Annual_Income','Num_of_Loan', 'Num_of_Delayed_Payment', 'Changed_Credit_Limit','Credit_Mix','Monthly_Balance', 'Outstanding_Debt' ,'Amount_invested_monthly'等。三、分箱,woe编码,计算IV值。

I_am_a_big_tiger的博客 1682

安装 Autoconf, Automake & Libtool

在使用protobuf时。编译报错,系统缺少系列工具。安装方法如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 curl -OL http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz tar -xzf autoconf-2.69.tar.gz cd autoconf-2.69 ./c

Bmmboo的专栏 1万+

GEE:哨兵时间序列遥感数据和动态阈值方法计算物候时期EOS/SOS(2)

本文将分享和解释论文《Improved Estimates of Arctic Land Surface Phenology Using Sentinel-2 Time Series》中使用到的基于阈值估算北极地区的植被物候,特别是北极地区的植被季节开始和结束的日期(SoS和EoS)的方法和代码。该方法使用的是使用哨兵2数据,并实现了两种阈值方法( 无平滑的阈值方法、平滑后的阈值方法)。

养乐多的博客 2971

Node-RED教程(二):Node-RED的面板的操作

Node-RED系列(二):Node-RED的面板的操作 要使用Node-RED去搭建一个物联网平台,链接设备,设备通信,就必须要先熟悉Node-RED的这种面板,对于一个新的项目,在动手做之前一点想对这个的技术的文档有足够的了解做起来才能游刃有余。本期我给大家介绍一下Node-RED的各种面板,熟悉这些面板后,在后续的搭建Iot服务中,会举重若轻,同时该系列的文档,难度会逐步加深,知道了本章解释的名称后对后续文章的理解有很大帮助。 面板1:默认节点选项列表 安装Node-RED后默认的节点分为这5大类

知无涯 1万+

Autoconf & Automake使用小记

Autoconf &amp; Automake使用小记 经常看到Linux下的开源软件中包含挺多文件,虽然知道是autoconf和automake生成的,不过一直没怎么仔细研究过。今天有空来研究一下看看。 1. 工具简介autoconf用于生成配置文件的工具,输入...

anqing6281的博客 156

基于STM32设计的智能水产养殖系统(华为云IOT)(152)

当前设计的智能水产养殖系统主控芯片采用STM32F103RCT6,可以实现对水位、水温、水混浊度和PH值等参数的监测和控制,并且支持定时投喂功能。通过连接华为云物联网平台,将传感器数据上传到服务器,并通过Qt设计的Android手机APP来获取设备上传的数据,从而实现对养殖环境的远程监测和控制。

8828

automake & autoconf

systerm:Linux ubuntu 2.6.32-24-generic ; automake & autoconf : 1.11.1 一、指令 autoscan;         输出 configure.scan; 二、指令 mv configure.scan configure.in         指令  vim configure.in         输出 co

123456的专栏 452

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

编译安装sysbench提示缺少文件。安装 Autoconf, Automake & Libtool

curl -OL http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz tar -xzf autoconf-2.69.tar.gz cd autoconf-2.69 ./configure &amp;&amp; make &amp;&amp; sudo make install curl -OL http://ftpmirror.gnu.org/automake/automake-1.14.tar.gz tar -xzf automake-1.1..

西瓜的博客 1477

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Autoconf, Automake, Libtool & .so、.o、.lo、.a、.la后缀文件含义

.o     :        编译的目标文件.a     :        静态库,其实就是把若干o文件打了个包.so   :        动态链接库(共享库).lo    :        使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息.la    :        使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和

vrix的专栏 2357

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an &ldquo;advanced algorithms&rdquo; book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

configure.*和Makefile.*之间的关系

    现在很多项目都在使用GUI编译器,Kdevelop\Eclipse等等,诚然它给我们提供了极大地便利,但我们仍需要简单了解编译的过程。本文旨在简单叙述由源码(*.cpp &amp;amp; *.h)经过编译得到可执行文件的过程,以及对生成的中间文件做一个简单的讲解,后面给出一个example。 相关tips &amp;amp; explanations: 1. autoscan:...

weixin_34174105的博客 118

Autoconf和Automake使用

你还可以试着使用一些其他的make命令,如make clean,make install,make dist,看看它们会给你什么样的效果。configure是一个脚本,它能设置源程序来适应各种不同的操作系统平台,并且根据不同的系统来产生合适的Makefile,从而可以使你的源代码能在不同的操作系统平台上被编译出来。用automake产生出来的Makefile.in文件是符合GNU Makefile惯例的,接下来我们只要执行configure这个shell 脚本就可以产生合适的 Makefile 文件了。

moran的博客 1707

autoconf automake使用

cmake 与autoconf automake使用的举例 目录 一、简介 二、示例过程如下 1、源文件 2、通过autscan命令,产生 configure.scan文件,修改为configure.ac 3、执行aclocal,产生aclocal.m4 配置文件 4、执行autoconf, 产生configure文件 5、执行autoheader 产生config.h.in 6、创建Makefile.am文件 7、根据情况,创建一些常用的文档文件NEWS README AUTHORS

王鑫宇的博客 7826

automake,autoconf使用详解

作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了. 在本文中,将给大家介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的 Makefile,这样就可以象常见的 GNU程序一样,...

团长的专栏 777

automake和autoconf学习小结

从网上下载的许多源码的编译和安装过程非常简单,压缩后需要的操作只有三步: ./configure make make install 即我们只要运行./configure,这个脚本就能检测当前系统的一些特性;运行make,则会读取Makefile的一些配置,对源码进行编译。这种软件编译和安装的框架其实是有一套标准的,即GNU项目提出的GNU build system。GNU Build

棉拖先生太固执 1450
上一篇: python setattr 函数
下一篇: yocto linux kernel config
windtakers
博客等级 码龄17年 94粉丝 197原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值