在编译大多数开源库时,make命令会生成.la
文件,该文件将包含library_names
和current=11 age=9 revision=0
版本信息。
我了解版本信息current=11 age=9 revision=0
是从 Makefile.am 中的标记version-info
生成的。通过了解版本信息,make
如何生成库名?
示例:对于libcrack.so
dlname='libcrack.so.2'
# Names of this library.
library_names='libcrack.so.2.9.0 libcrack.so.2 libcrack.so'
# Version information for libcrack.
current=11
age=9
revision=0
版本信息在Makefile.am中指定,如下所示
libcrack_la_LDFLAGS = -version-info 11:0:9
现在的问题是:如何通过libcrack.so.2.9.0
生成2.9.0
来生成version-info
?
答案 0 :(得分:0)
通常libtool
库版本系统使用以下格式
soname.so.<current-age>.<age>.<revision>
这就是为什么在问题中引用的示例libcrack.so.(11-9).9.0 = libcrack.2.9.0
。
更详细的信息可以在library versioning
找到