C++ autoconf中的库版本字符串

C++ autoconf中的库版本字符串,c++,autotools,autoconf,automake,C++,Autotools,Autoconf,Automake,在autoconf中首次指定库版本的正确方法是什么?库处于不稳定状态,我想在为公共API准备好之前,它应该是0.1.0,而公共API应该是1.0.0。因此,我在configure.ac中添加了以下内容: 并且在Makefile.am中: 虽然我得到了这个文件: libfoo.so.0.0.1 .so版本应始终从0:0:0开始。它不应该与项目的软件版本号绑定 Libtool版本号被称为current:revision:age,不一定映射到任何特定平台上的.so文件后缀 以下是在以下位置给出的解释

在autoconf中首次指定库版本的正确方法是什么?库处于不稳定状态,我想在为公共API准备好之前,它应该是0.1.0,而公共API应该是1.0.0。因此,我在configure.ac中添加了以下内容:

并且在Makefile.am中:

虽然我得到了这个文件:

libfoo.so.0.0.1

.so版本应始终从0:0:0开始。它不应该与项目的软件版本号绑定

Libtool版本号被称为current:revision:age,不一定映射到任何特定平台上的.so文件后缀

以下是在以下位置给出的解释摘要:

每次发布时都增加修订。 每次更改API/ABI时,增加当前值并将修订设置为0。 当您对API/ABI进行向后兼容的更改时,请增加年龄。 对API/ABI进行向后不兼容的更改时,请将年龄设置为0。
.so版本应始终从0:0:0开始。它不应该与项目的软件版本号绑定

Libtool版本号被称为current:revision:age,不一定映射到任何特定平台上的.so文件后缀

以下是在以下位置给出的解释摘要:

每次发布时都增加修订。 每次更改API/ABI时,增加当前值并将修订设置为0。 当您对API/ABI进行向后兼容的更改时,请增加年龄。 对API/ABI进行向后不兼容的更改时,请将年龄设置为0。
你在说什么图书馆?它有pkgconfig版本吗?@BrettHale我正在处理的库:P,是的,它有。@ptomato的答案是处理版本控制的正确方法-但是如果您确定库只供内部使用,您可以使用-release标志。你似乎总是在做一些有趣的事情:你在说什么图书馆?它有pkgconfig版本吗?@BrettHale我正在处理的库:P,是的,它有。@ptomato的答案是处理版本控制的正确方法-但是如果您确定库只供内部使用,您可以使用-release标志。你似乎总是在做一些有趣的事情:
libfoo_la_LDFLAGS = -version-info $(FOO_SO_VERSION)
libfoo.so.0.0.1