GNU Autotools:在没有版本信息的情况下重建
Posted
技术标签:
【中文标题】GNU Autotools:在没有版本信息的情况下重建【英文标题】:GNU Autotools: rebuild without version info 【发布时间】:2012-08-12 22:13:28 【问题描述】:我需要构建一个配置了自动工具的库。通常的configure && make && make install
步骤会生成版本化的共享库,例如libfoo.so.x.x
是否可以修改 configure.ac 或 Makefile.am(当然还要跟进 autoreconf )以便构建未版本化的库。
谢谢!
【问题讨论】:
【参考方案1】:是的,假设库是使用 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
【讨论】:
以上是关于GNU Autotools:在没有版本信息的情况下重建的主要内容,如果未能解决你的问题,请参考以下文章