GNU Autotools:无需版本信息即可重建

2023-11-23

我需要构建一个配置有自动工具的库。通常configure && make && make install步骤生成版本化共享库,例如libfoo.so.x.x是否可以修改configure.ac或Makefile.am(当然还有autoreconf)以便构建未版本化的lib。

谢谢你!


是的,假设该库是用构建的libtool,您可以通过添加以下内容来删除版本信息-avoid-version标记为库的 LDFLAGS。

例如,如果之前有libfoo_la_LDFLAGS = -version-info 1:0你会把它改成libfoo_la_LDFLAGS = -avoid-version。之后,您将重新生成并重新运行配置(autoreconf -vfi && ./configure)并重建。

只需删除-version-info ...还不够,因为 libtool 将生成一个版本信息为 0.0.0 的库。

有关详细信息,请参阅 libtool 手册:http://www.gnu.org/software/libtool/manual/html_node/Link-mode.html

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

GNU Autotools:无需版本信息即可重建 的相关文章

  • autoconf 配置警告:/usr/bin/file:没有这样的文件或目录

    当我在 ubuntu 操作系统 16 中使用我的配置时 似乎没有问题 我已经安装了 autoconf 工具和依赖项 当我在 ubuntu 16 或最新版本 中运行相同的配置文件时 问题是我没有安装任何自动工具 我收到以下错误消息 confi
  • “HOSTCC”和 ./configure --host 中“主机”一词的含义是什么?

    假设我有某个程序的源代码 该源代码使用 GNU 自动工具 为了简单起见 假设该程序绝不是任何类型的开发工具 如果我有一个方便的交叉工具链 我可以configure针对平台进行交叉编译fooproc barvendor bazos使用 hos
  • 使用 PKG_CHECK_MODULES 时,autoconf 生成的 Makefile 不会传递库头的标志

    我的项目依赖于一个库 更准确地说 GTK 所以我在我的项目中添加了以下配置configure ac PKG CHECK MODULES GTK gtk 2 0 AC SUBST GTK CFLAGS AC SUBST GTK LIBS My
  • 如何让配置脚本检查依赖关系

    我使用 autoconf 生成了一个配置脚本来构建我的项目 除非我没有安装一些所需的库 否则它工作正常 当缺少某些文件时 Make 返回错误 但我认为应该由配置脚本实际检查它 所以我的问题是 如何修改 autoconf 生成的脚本来寻找依赖
  • AM_LDFLAGS 和 LDFLAGS 有什么区别

    我想知道 AM LDFLAGS 和 LDFLAGS 之间有什么区别 因为我遇到了错误 error AM LDFLAGS must be set with before using 当我在 foreach 循环中使用 AM LDFLAGS 时
  • Automake - 安装版本“automake-1.14.1”时遇到困难

    我在 Rapbian 2014 09 09 wheezy raspbian 发行版上安装 automake 1 14 1 时遇到问题 我写sh configure然后我写了make然后终端写信给我 make CDPATH ZSH VERSI
  • Autoconf 在 OS X 上使用错误的 AR

    我正在 OS X 上测试 我们有一个configure ac and Makefile am Autotools 选择错误AR and ARFLAGS对于平台 它发生在 和没有 AM PROG AR in Makefile am egrep
  • Autoconf:如何将安装路径获取到config.h中

    我的程序需要在运行时加载一些文件 这些文件将安装到指定的任何文件夹中 configure datadir somewhere 由于我的程序需要在运行时知道该文件夹的位置 因此我需要在某处 define 一个符号 以便 C 代码可以以字符串形
  • Autoconf 和 A​​utotools 的替代品? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • “Help”字符串变量替换“configure --help”

    我有一个字符串 我想多次使用它来输出configure help 所以我尝试做这样的事情configure ac AC ARG ENABLE foobar AS HELP STRING enable foobar foobar help s
  • .h 是从 .h.in 生成的吗?

    我的库在构建后创建的 h 文件中有结构定义 但我在相应的 h in 中找不到这些定义 有人可以告诉我这一切是如何工作的以及它从哪里获取额外信息吗 具体来说 我正在构建 pth 用户空间线程库 它有 pth p h in 它不包含我正在寻找的
  • LDADD 和 LIBADD 有什么区别?

    我正在尝试设置一个混合使用 libtool 库和可执行文件的 automake 项目 并且我很难理解 automake 文档 尤其是 as 涉及告诉编译器进行链接 那么有人可以解释一下之间的区别吗LDADD and LIBADD 像 什么时
  • Autotools:如何清理lighttpd项目中“./configure”创建的文件?

    我正在尝试lighttpd用于嵌入式 Linux 项目 我获得了最新的源代码包 并开始编写一个主 Makefile 其中封装了所有配置 编译 安装 用于测试 等内容 反之亦然 我想清理每一步 清理后应该不再有生成的文件 这对于重复测试很重要
  • 如何在 Makefile.am 中指定我想要 C++0x?

    目前我的项目有以下简单的树 Makefile am configure ac README src main cpp src Makefile am bin 我正在尝试遵循以下教程 http www gnu org software aut
  • 使用 BR2_EXTERNAL 修改 Buildroot 源包的自动工具选项的正确方法是什么?

    我想改变
  • 如何不在输出中打印 makefile 中的注释

    我有一个像这样的 makefile install somecommand some explanation for next command lastcommand 发生的事情是评论 some explanation for next c
  • 在 C 中使用 GNU automake 中的解析器

    我是 GNU autotools 的新手 在我的项目中使用了 lex 和 yacc 解析器 将它们作为 makefile am 中的源代码会产生以下错误 配置 in AC CHECK PROGS YACC bison yacc none i
  • 标题的宏定义,放在哪里?

    定义头文件依赖的宏时 例如 FILE OFFSET BITS FUSE USE VERSION GNU SOURCE其中 放置它们的最佳位置在哪里 我考虑过的一些可能性包括 位于依赖于该文件中包含的标头公开的定义的任何源文件的顶部 紧接在相
  • ./configure 使用指定版本的 g++

    如何告诉 配置 文件使用指定版本的 g 进行编译 Thanks 在 bash shell 中 您可以执行以下操作 configure CC gcc 2 95 其他 shell 也会有类似的技术 但我无法帮助您了解具体细节 如果您的项目是 C
  • 什么是 Makefile.am 和 Makefile.in?

    这两个文件多出现在开源项目中 它们的用途是什么 它们如何工作 Makefile am是程序员定义的文件 由automake生成Makefile in文件 am代表autom阿克 这configure通常在源 tarball 中看到的脚本将使

随机推荐