GNU Autotools:没有版本信息的重建

pic*_*c11 9 automake autoconf autotools

我需要构建一个配置了autotools的lib.通常的configure && make && make install步骤产生版本化的共享库,类似于libfoo.so.x.x是否可以修改configure.ac或Makefile.am(当然还有后续的autoreconf),以便构建非版本化的lib.

谢谢!

mat*_*t88 13

是的,假设库是使用构建的libtool,您可以通过将-avoid-version标志添加到库的LDFLAGS 来删除版本信息.

例如,如果之前有 libfoo_la_LDFLAGS = -version-info 1:0将其更改为libfoo_la_LDFLAGS = -avoid-version.在此之后,您将重新生成并重新运行configure(autoreconf -vfi && ./configure)并重建.

简单地删除-version-info ...是不够的,因为libtool将生成版本信息为0.0.0的库.

有关更多信息,请参阅libtool手册:http://www.gnu.org/software/libtool/manual/html_node/Link-mode.html