在autoconf中首次指定库版本的正确方法是什么?图书馆处于不稳定状态,我认为它应该是0.1.0
,直到它为公共API做好准备,应该是1.0.0
。所以我在configure.ac
中加入了以下内容:
AC_SUBST([FOO_SO_VERSION], [0:1:0])
AC_SUBST([FOO_API_VERSION], [0.1.0])
还有Makefile.am
:
libfoo_la_LDFLAGS = -version-info $(FOO_SO_VERSION)
虽然我收到了这个文件:
libfoo.so.0.0.1
答案 0 :(得分:4)
.so版本应始终从0:0:0开始。它不应该与项目的软件版本号绑定。
Libtool版本号称为 current:revision:age ,并不一定映射到任何特定平台上的.so文件后缀。
以下是this link给出的解释摘要: