2012-08-16 54 views
6

我需要建立一个配置了自动工具的库。通常的configure && make && make install步骤会产生版本化的共享库,如libfoo.so.x.x是否可以修改configure.ac或Makefile.am(并且当然跟进autoreconf),以便构建未版本化的lib。GNU Autotools:重建没有版本信息

谢谢!

回答

10

是的,假设库的内部版本号为libtool,您可以通过将-avoid-version标志添加到库的LDFLAGS来删除版本信息。

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

仅仅删除-version-info ...是不够的,因为libtool会生成版本信息为0.0.0的库。

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