automake自动编译工具

2023-05-16

automake自动编译生成makefile文件,使用automake,程序开发人员只需要写简单的宏文件,生成configure,再生成Makefile.in,最终生成一个惯例的makefiel文件。

automake执行命令顺序

autoscan
aclocal
autoconf
automake --add-missing
./configure
make
./exe

创建文件并执行autoscan

  1. 创建文件就不用说了吧,顺便创建一个c文件
    在这里插入图片描述

  2. 并且执行autoscan
    在这里插入图片描述
    多出了autoscan.log和configure.scan
    将configure.scan复制为configure.ac,并且修改其中的内容
    在这里插入图片描述
    修改其中的内容
    在这里插入图片描述
    此文件的相关内容需要根据软件和系统的环境进行配置,但是AM_INIT_AUTOMAKE宏需要自己添加,它是automake所必备的宏。

  3. autoconf命令安装工具生成m4文件
    在此之前aclocal工具用于扫描configure.ac文件生成aclocal.m4
    在这里插入图片描述

  4. autoconf生成config.h.in
    在这里插入图片描述

  5. 创建Makefile.am文件
    Automake工具会根据configure.in中的参量把Makefile.am转换成Makefile.in文件
    在这里插入图片描述

  6. 使用Automake生成Makefile.in文件
    在这里插入图片描述
    出错啦。此时就是找不到文件,创建找不到的文件即可
    在这里插入图片描述
    运行automake --add-missing
    在这里插入图片描述

  7. 运行./configure

在这里插入图片描述
生成makefile文件即可正常执行make命令

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

automake自动编译工具 的相关文章

  • automake自动编译工具

    automake自动编译生成makefile文件 xff0c 使用automake xff0c 程序开发人员只需要写简单的宏文件 xff0c 生成configure xff0c 再生成Makefile in xff0c 最终生成一个惯例的m
  • autoscan、aclocal、automake和autoconf区别【转】

    转自 https blog csdn net renhui1112 article details 96480535 autoscan 扫描源代码以搜寻普通的可移植性问题 比如检查编译器 库 头文件等 生成文件configure scan
  • GNU Autotools:无需版本信息即可重建

    我需要构建一个配置有自动工具的库 通常configure make make install步骤生成版本化共享库 例如libfoo so x x是否可以修改configure ac或Makefile am 当然还有autoreconf 以便
  • 使用 automake 设置每个文件的标志

    有没有办法使用 automake 在每个文件的基础上设置标志 特别是 如果我有一个 C 项目 并且想要使用 W 编译除我想要禁用特定警告的文件之外的所有文件 我该怎么办 我尝试过类似的东西 CXXFLAGS WAll bin PROGRAM
  • Makefile.am 创建空目录

    使用自动工具 我需要在键入 make install 时创建一个空目录树 例如 etc myprg foo 现在 我通过指定空目标来做到这一点 如下所示 myprgdir sysconfdir myprg myprgfoodir sysco
  • 使用 pkg-config 宏 PKG_CHECK_MODULES 失败

    我确信这是一个相当简单的问题 我有一个非常简单的configure ac 文件 我用它来学习autoconf 和pkg config 如何协同工作 这confgure ac文件看起来像 AC PREREQ 2 61 AC INIT auto
  • GNU autoconf/automake 的帮助脚本应该放在哪里?

    我正在开发一个将与 GNU autoconf automake 一起分发的项目 并且我有一组调用 awk 脚本的 bash 脚本 我希望 bash 脚本最终出现在 PATH 中 而不是 awk 脚本中 我应该如何将它们插入到项目中 它们应该
  • 为什么即使使用正确的 autoconf,autogen.sh 也会失败?

    autogen sh 失败 输出显示我需要更高版本的 autoconf 但事实上我有一个 2 6x autoconf 为什么仍然失败 mirror home 4 autogen sh autoreconf i f v autoreconf
  • Automake 将两个静态库合并为一个

    我正在尝试将预构建静态库中的符号包含到我正在构建的静态库中 然后 我正在构建的静态库将在可执行文件内部使用 我遇到的问题是我的静态库中从其他静态库获取了未定义的符号 这意味着我从预构建的静态库中需要的符号没有包含在我的静态库中 使用自动工具
  • automake环境变量条件

    我有一个文件 Makefile am 我用来生成 Makefile 在生成的 Makefile 中我想要类似的内容 ifndef SOURCECODEPATH SOURCECODEPATH home root source code pat
  • Autoconf 子目录与子包相互依赖吗?

    我手上有一个大型项目 master 它被分成几个组件 liba b c d 以方便构建和维护 在构建整个包时 必须按顺序构建所有子组件 并且其中一些包相互依赖 更明确地说 liba 是 b c 和 d 的先决条件 并且 liba 的存在由配
  • 如何将共享库与 --as-needed 和 automake 链接起来?

    如何链接共享库 as needed使用Automake 当我尝试将标志添加到LDFLAGS I saw libtool如此称呼 bin bash libtool mode link Wl as needed dependencies 这会导
  • 使用 PKG_CHECK_MODULES 时,autoconf 生成的 Makefile 不会传递库头的标志

    我的项目依赖于一个库 更准确地说 GTK 所以我在我的项目中添加了以下配置configure ac PKG CHECK MODULES GTK gtk 2 0 AC SUBST GTK CFLAGS AC SUBST GTK LIBS My
  • Automake - 安装版本“automake-1.14.1”时遇到困难

    我在 Rapbian 2014 09 09 wheezy raspbian 发行版上安装 automake 1 14 1 时遇到问题 我写sh configure然后我写了make然后终端写信给我 make CDPATH ZSH VERSI
  • 如何将 autoconf/automake 指向非标准包

    我正在尝试在 RedHat Linux 机器上构建 ZooKeeper ZooKeeper 到底是什么可能并不重要 当我按照包装说明进行操作时 我得到 autoreconf if aclocal configure ac 33 warnin
  • 我可以在 distcheck 期间使用 $dc_install_base 安装 systemd 文件吗?

    我有以下用于安装 systemd 服务文件的 Autotools 代码 该文件必须安装在外部 prefix到 pkg config 变量指定的目录 我知道这是不正确的 但我无法改变 systemd 的工作方式 配置文件 AC ARG WIT
  • Autotools 库和目标文件输出控制

    我的目标是将所有目标文件构建在 objs 目录中而不是 Makefile 的根目录中 并将二进制文件 和库 复制到项目的bin 目录 但我一直无法找到任何资源来解释如何做到这一点 我该怎么做呢 这是我的configure ac和src Ma
  • LDADD 和 LIBADD 有什么区别?

    我正在尝试设置一个混合使用 libtool 库和可执行文件的 automake 项目 并且我很难理解 automake 文档 尤其是 as 涉及告诉编译器进行链接 那么有人可以解释一下之间的区别吗LDADD and LIBADD 像 什么时
  • 在 Makefile.am 中调用 SED 获取源

    我有 C 代码 需要在编译之前对其进行 sed 处理 我如何将其放入Makefile am 我尝试了典型的 makefile 设置 目标似乎不存在 gentest cc SED i s FIND REPLACE gentest cc 如果您
  • 使用 GCC 和 autotools 为各个源文件设置编译标志的最佳方法是什么?

    我需要使用自动工具禁用单个文件的优化标志 最好的方法是什么 您是指单个源文件还是单个可执行文件 禁用可执行文件的优化很简单 bin PROGRAMS myprog myprog SOURCES foo c bar c myprog CFLA

随机推荐