9

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

谢谢!

4

1 回答 1

13

是的,假设库是用 构建的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

于 2012-08-22T06:24:58.437 回答