C++学习(三五九)GNU构建系统Autotools(autoconf automake libtool autoscan autoheader aclocal automake m4)

Posted hankern

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++学习(三五九)GNU构建系统Autotools(autoconf automake libtool autoscan autoheader aclocal automake m4)相关的知识,希望对你有一定的参考价值。

GNU构建系统是Autotools,它包含autoconf automake libtool autoscan autoheader aclocal automake等工具。

autoconf

autoconf命令的主要作用是创建configure。它基于configure.ac文件生成configure文件。

autoscan

autoscan是autoconf的辅助命令,它创建一个预备的configure(configure.scan),作为autoconf命令的输入。我们可以按需在这个文件上进行添加内容,修改之后手工修改名字变成configure.ac文件。

autoheader

autoheader也是autoconf的辅助命令,用于生成一个configure的模版头文件config.h.in。

automake

automake命令的主要作用是创建Makefile。以Makefile.am和configure.ac为输入,以Makefile.in为输出。Makefile.in在configure执行时用于生成Makefile。

libtool

libtool命令的主要作用是创建和使用可移植的共享(动态链接)库。

aclocal

根据已经安装的宏,用户定义宏和acinclude.m4文件中的宏将configure.ac文件所需要的宏集中定义到文件 aclocal.m4中。aclocal是一个perl 脚本程序,它的定义是:“aclocal - create aclocal.m4 by scanning configure.ac”

 

ifnames 命令可以列出程序中的预处理标示符,比如#if,#ifdef等。
m4 处理文件中的宏。
pkg-config 查询已安装库的接口。

 

以上是关于C++学习(三五九)GNU构建系统Autotools(autoconf automake libtool autoscan autoheader aclocal automake m4)的主要内容,如果未能解决你的问题,请参考以下文章

GNU autotool:没有规则来制定目标

C++学习(四五九)pe elf coff

C++学习(二五九)Android Studio如何调试JNI

C++学习(三五八)configure脚本

C++学习(三五三)MSBuildToolsPathVCTargetsPath

如何使用 autotool 在单独的目录中构建