Libtool
通用函式庫支援指令稿
在计算机编程中,GNU Libtool是一个软件开发工具,它是GNU构建系统的一部份,由一个shell脚本组成[3],创建它是致力于解决从源代码编译共享库时的软件可移植性问题。它隐藏了编译共享库的命令在计算平台之间的不同[4]。它提供了跨平台同一的一个命令行界面并且它执行这个平台的本地命令。
开发者 | GNU计划 |
---|---|
当前版本 | |
源代码库 | |
操作系统 | 跨平台 |
类型 | 函式库 |
许可协议 | GPLv2 |
网站 | https://www.gnu.org/software/libtool/ |
原理
不同的操作系统以不同方式处理共享库。有些平台根本就不使用共享库。这使得难以让软件程序可移植:C编译器随系统不同而不同,特定库函数在某些系统上缺失,头文件可能有不同的名字。
Libtool帮助管理在各种类Unix操作系统上的静态和动态库的创建。Libtool通过抽象库的创建过程、隐藏在各种系统之间的区别来完成它。
GNU Libtool通过“封装特定于平台的依赖和用户界面二者在一个单一脚本中”,在设计上简化了在新系统上编译计算机程序的过程[5]。在移植一个程序到一个新系统之时,Libtool在设计上能让移植者不需要阅读所要建造的共享库的底层文档,而只是运行一个“配置”脚本(或等价者)[5]。
使用
Libtool是经由Autoconf和Automake来使用的,它们是GNU构建系统中另外两个可移植性工具。它也可以直接使用[6]。
克隆和派生
自从GNU Libtool发行后,其他自由软件项目已经尝试在不同软件许可证下创立它的直截了当替代者[7],比如slibtool[8]就是这种实现[9]。
参见
引用
- ^ libtool-2.5.0 released [alpha].
- ^ libtool-2.5.4 released [stable]. 2024年11月20日 [2024年11月20日].
- ^ A postmortem analysis of other implementations. The GNU Libtool manual. The GNU project. 2015-02-15 [2021-02-02].
- ^ Introduction. The GNU Libtool manual. The GNU project. 2015-02-15 [2021-02-02].
- ^ 5.0 5.1 Libtool Manual
- ^ Writing Makefile rules for libtool. The GNU Libtool manual. The GNU project. 2015-02-15 [2021-02-02].
- ^ BSD-licensed libtool.
- ^ slibtool
- ^ Slibtool - Gentoo wiki. wiki.gentoo.org. [2024-03-11].
外部链接
- GNU Libtool首页 (页面存档备份,存于互联网档案馆)
- Libtool英文手册 (页面存档备份,存于互联网档案馆)
- Autobook首页 (页面存档备份,存于互联网档案馆)
- "Autotools教学 (页面存档备份,存于互联网档案馆)",Alexandre Duret-Lutz著,介绍Autoconf、Automake、Libtool与Gettext
- 使用Libtool创建库 (页面存档备份,存于互联网档案馆)