我需要建立一個配置了自動工具的庫。通常的configure && make && make install
步驟會產生版本化的共享庫,如libfoo.so.x.x
是否可以修改configure.ac或Makefile.am(並且當然跟進autoreconf),以便構建未版本化的lib。GNU Autotools:重建沒有版本信息
謝謝!
我需要建立一個配置了自動工具的庫。通常的configure && make && make install
步驟會產生版本化的共享庫,如libfoo.so.x.x
是否可以修改configure.ac或Makefile.am(並且當然跟進autoreconf),以便構建未版本化的lib。GNU Autotools:重建沒有版本信息
謝謝!
是的,假設庫的內部版本號爲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