我需要构建一个配置了autotools的lib。通常的configure && make && make install
步骤产生版本化的共享库,类似于libfoo.so.x.x
是否可以修改configure.ac或Makefile.am(当然还有后续的autoreconf),以便构建非版本化的lib。
谢谢!
答案 0 :(得分:13)
是的,假设库是使用libtool
构建的,您可以通过将-avoid-version
标志添加到库的LDFLAGS来删除版本信息。
例如,如果之前有
libfoo_la_LDFLAGS = -version-info 1:0
您需要将其更改为libfoo_la_LDFLAGS = -avoid-version
。在此之后,您将重新生成并重新运行configure(autoreconf -vfi&& ./configure)并重建。
仅删除-version-info ...
是不够的,因为libtool将生成版本信息为0.0.0的库。
有关详细信息,请参阅libtool手册:http://www.gnu.org/software/libtool/manual/html_node/Link-mode.html