我需要构建一个配置了自动工具的库。通常的configure && make && make install
步骤会产生版本化的共享库,类似于libfoo.so.x.x
是否可以修改 configure.ac 或 Makefile.am(当然还有跟进 autoreconf),以便构建未版本化的库。
谢谢!
是的,假设库是使用 libtool
构建的,您可以通过将 -avoid-version
标志添加到库的 LDFLAG 来删除版本信息。
例如,如果之前有 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