libtool在什么地方,什么时候使用它?

Vic*_*lea 6 c++ linux automake autotools libtool

习惯了之后就舒服GNU autoconfGNU automake。我决定开始学习libtool. 但我仍然无法清楚地看到在现实世界中使用它的好处。

据我了解,主要好处是主要的可移植性问题,即系统是否支持动态库。然而,现在大多数都是主要UNIX-like OSGNU/LinuxBSD-flavors或者Mac OS很难面对OS不支持动态库或具有奇怪的库标准的情况。

所以这是我的问题,它值得使用吗libtool

pto*_*ato 5

是的。为共享库编写一个能够在 Linux 和 Mac OS 上正确构建的 makefile 是很困难的。使用 Libtool,它可以开箱即用。


Bre*_*ale 5

例如,GNU ld 和 Darwin 的原生 Mach-O ld 有非常不同的选项。libtool 负责处理这个问题,并且还可以使用.la文件来管理依赖项、版本控制信息等。

考虑一个创建 DSO 的构建系统,或者可以在运行时加载和解析的模块。libtool 提供了独立于平台的选项来创建这些对象,以及应用程序的ltdl API。