千家信息网

GNU-Tool中怎么实现自动化工程

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,GNU-Tool中怎么实现自动化工程,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.autoscanautoscan 用来在给定目
千家信息网最后更新 2026年11月03日GNU-Tool中怎么实现自动化工程

GNU-Tool中怎么实现自动化工程,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1.autoscan

autoscan 用来在给定目录及其子目录树中检查源文件,扫描源代码目录从而生成 configure.scan 文件。autoscan 可以用目录名作为参数,也可以省略参数,此时 autoscan 将把当前目录当作参数。

configure.scan 文件很重要,它是 configure.in 文件的原型,通过修改 configure.scan 后得到 configure.in 文件。

2.aclocal

aclocal 是一个 perl 脚本程序。aclocal 根据 configure.in 文件的内容,自动生成 aclocal.m4 文件。aclocal 的定义是: " aclocal-create aclocal.m4 by scanning configure.ac "

3.autoconf

autoconf 是用来产生 configure 文件的。configure 是一个脚本,它能设置源程序来适应不同的操作系统平台,并且根据不同的系统生成合适的 Makefile ,从而可以使源代码能够在不同的操作系统平台上被编译出来。

4.autoheader

autoheader 负责生成 config.h.in 文件。该工具通常从 acconfig.h 文件中复制用户添加的符号定义。

5.automake

automake 是工具集中的重要成员之一,它调用脚本文件 Makefile.am , 并最终生成 configure 文件。我们就是通过调用 configure 文件来自动产生 makefile 的。

第一步 扫描本地目录

autoscan

第二步 重新命名为ac文件

mv configure.scan configure.ac

第三部 编辑configure.ac

第四步configure.ac文件宏说明:

AC_PRERREQ 宏声明文件要求的 autoconf 版本

AC_INIT 宏用来定义软件的名称和版本等信息。

其中FULL-PACKAGE-NAME 表示软件的名称;

VERSION 为软件的版本号;

BUG-REPORT-ADDRESS 一般为作者的 E-mail

文件宏顺序说明:

AC_INIT

测试程序

测试函数库

测试头文件

测试类型定义

测试结构

测试编译器特性

测试库函数

测试系统调用

AC_OUTPUT

加入下面两个宏在configure.ac文件中

AM_INIT_AUTOMAKE([-Wall -Werror foreign]) 生成make参数

AC_CONFIG_FILES([Makefile]) 宏用于生成相应的 Makefile 文件

第五步 这里可能会生成一个 aclocal.m4 ,该文件主要处理本地的宏定义:

aclocal

第六步骤 生成configure文件

autoconf

第七步 生成配置头文件

autoheader

第八步 创建Makefile.am,增加编译目标文件和源文件

Makefile.am

第九步 生成Makefile文件

automake --add-missing

第十步 编译配置

./configure --prefix=$(pwd)/install

第十一步

make && make install

simple:

Makefile.am

SUBDIRS = srcdist_doc_DATA = README.md

README.md

Some doc.

configure.ac

AC_INIT([automake_hello_world], [1.0], [bug-automake@gnu.org])AM_INIT_AUTOMAKE([-Wall -Werror foreign])AC_PROG_CCAC_CONFIG_HEADERS([config.h])AC_CONFIG_FILES([ Makefile src/Makefile])AC_OUTPUT

src/Makefile.am

bin_PROGRAMS = autotools_hello_worldautotools_hello_world_SOURCES = main.c

src/main.c

#include #include int main (void) {  puts ("Hello world from " PACKAGE_STRING);  return 0;}

Usage

autoreconf --installmkdir buildcd build../configuremakesudo make installautoconf_hello_worldsudo make uninstall

This outputs:

Hello world from automake_hello_world 1.0

关于GNU-Tool中怎么实现自动化工程问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

文件 生成 测试 目录 参数 系统 编译 不同 版本 脚本 软件 问题 工程 自动化 重要 操作系统 内容 函数 名称 工具 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州淘业互联网络科技 广州大一互联网络科技有限公司 河南云网互联网络科技有限公司 互联网是不是新科技 北京互联网科技公司 互联网 科技创新 互联网科技金融公司 平安科技 互联网 互联网科技公司怎么样 中国互联网科技发展 互联网科技网站 顺网科技2021年互联网排名 互联网巨头投资的硬核科技 华中科技有哪些互联网大佬 中化能源互联网科技招聘 企晟互联网信息科技有限公司 互联网企业科技类企业如何做账 雨阳互联网卡科技有限公司 上海同邻互联网科技有限公司规模 广西泛欧互联网科技有限公司 互联网科技公司简介 A股互联网金融科技公司 互联网 科技创业 互联网科技咨询 汉立互联网科技有限公司联系电话 广州新华互联网科技学校电竞方面 伊宁互联网科技做什么的 互联网金融科技元年 从那以后互联网科技有限公司 网互联网络科技
0