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