Libtool

通用函式庫支援指令稿

计算机编程中,GNU Libtool是一个软件开发工具,它是GNU构建系统的一部分,由一个shell脚本组成[3],创建它是致力于解决从源代码编译共享库时的软件可移植性问题。它隐藏了编译共享库的命令在计算平台之间的不同[4]。它提供了跨平台同一的一个命令行界面并且它执行这个平台的本地命令。

GNU Libtool
开发者GNU计划
当前版本
  • 2.5.0(2024年5月13日;预览版本)[1]
  • 2.5.4(2024年11月20日;稳定版本)[2]
编辑维基数据链接
源代码库 编辑维基数据链接
操作系统跨平台
类型函数库
许可协议GPLv2
网站https://www.gnu.org/software/libtool/

原理

不同的操作系统以不同方式处理共享库。有些平台根本就不使用共享库。这使得难以让软件程序可移植:C编译器随系统不同而不同,特定库函数在某些系统上缺失,头文件可能有不同的名字。

Libtool帮助管理在各种类Unix操作系统上的静态动态的创建。Libtool通过抽象库的创建过程、隐藏在各种系统之间的区别来完成它。

GNU Libtool通过“封装特定于平台的依赖和用户界面二者在一个单一脚本中”,在设计上简化了在新系统上编译计算机程序的过程[5]。在移植一个程序到一个新系统之时,Libtool在设计上能让移植者不需要阅读所要建造的共享库的底层文档,而只是运行一个“配置”脚本(或等价者)[5]

使用

Libtool是经由AutoconfAutomake来使用的,它们是GNU构建系统中另外两个可移植性工具。它也可以直接使用[6]

克隆和派生

自从GNU Libtool发行后,其他自由软件项目已经尝试在不同软件许可证下创立它的直截了当替代者[7],比如slibtool[8]就是这种实现[9]

参见

引用

  1. ^ libtool-2.5.0 released [alpha]. 
  2. ^ libtool-2.5.4 released [stable]. 2024年11月20日 [2024年11月20日]. 
  3. ^ A postmortem analysis of other implementations. The GNU Libtool manual. The GNU project. 2015-02-15 [2021-02-02]. 
  4. ^ Introduction. The GNU Libtool manual. The GNU project. 2015-02-15 [2021-02-02]. 
  5. ^ 5.0 5.1 Libtool Manual
  6. ^ Writing Makefile rules for libtool. The GNU Libtool manual. The GNU project. 2015-02-15 [2021-02-02]. 
  7. ^ BSD-licensed libtool.
  8. ^ slibtool
  9. ^ Slibtool - Gentoo wiki. wiki.gentoo.org. [2024-03-11]. 

外部链接