【发布时间】:2013-12-03 11:28:18
【问题描述】:
我使用 autoconf/automake/libtool 来构建一个共享库。我想将库版本的主要编号传递给共享库 soname。
我在 configure.ac 中有以下声明:
AC_INIT([libabc], [1.1.0])
还有下面的 Makefile.am:
AM_CPPFLAGS = -I$(top_srcdir)/include -Wall -Wextra
LDADD = libabc.la
lib_LTLIBRARIES = libabc.la
nodist_libabc_la_SOURCES = $(top_srcdir)/config.h
libabc_la_SOURCES = $(top_srcdir)/src/abc.c
我可以为配置脚本、源和共享库 soname 使用相同的版本。我可以在源代码中使用自动生成的 config.h 中定义的 VERSION 或 PACKAGE_VERSION,但这不会影响 soname,它始终是 libabc.so.0。
有没有办法强制 libtool 使用我来自 AC_INIT 指令的主要版本?如果不是,定义主要/次要数字的首选方法是什么?
【问题讨论】:
标签: shared-libraries autotools libtool