libtool的-version-info可以在 lib_LDADD中指定,格式是 current:reversion:age
current:当前接口的版本
reversion:当前实现的修订版
age:该lib当前能向前兼容的版本。例如current=10, age=2时,该lib能向前兼容到 10 – 2 = 8;
指定版本号是有一定规则的,libtool 的manual中提到:
1、每个lib从0:0:0开始
2、只在release前修改版本号
3、如果代码发生了改变(也是就接口的实现发生了变化),增加reversion的值(c:r:a 变为 c:r+1:a)
4、如果更新时增加、删除、或是改变了接口,增加current的值,把age设为0
5、如果比起上一个release增加了接口,增加age的值
6、如果比起上一个release删除或改变了接口,把age设为0