我需要构建一个配置了自动工具的库。通常的configure && make && make install
步骤会生成版本化的共享库,例如libfoo.so.x.x
是否可以修改 configure.ac 或 Makefile.am (当然还要跟进 autoreconf ),以便构建未版本化的库。
谢谢!
是的,假设库是用 构建的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