GNU Libtool

维基百科,自由的百科全书
跳转到导航 跳转到搜索
GNU Libtool
File:Libtool.jpg
开发者GNU计划
当前版本
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    源代码库
    • {{URL|example.com|可选的显示文本}}
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    引擎
      Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
      操作系统跨平台
      类型函数库
      许可协议GPLv2
      网站https://www.gnu.org/software/libtool/

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

      原理[编辑]

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

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

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

      使用[编辑]

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

      克隆和派生[编辑]

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

      参见[编辑]

      引用[编辑]

      1. ^ A postmortem analysis of other implementations. The GNU Libtool manual. The GNU project. 2015-02-15 [2021-02-02]. (原始内容存档于2024-12-28). 
      2. ^ Introduction. The GNU Libtool manual. The GNU project. 2015-02-15 [2021-02-02]. (原始内容存档于2024-12-28). 
      3. ^ 3.0 3.1 Libtool Manual. [2024-10-04]. (原始内容存档于2024-12-28). 
      4. ^ Writing Makefile rules for libtool. The GNU Libtool manual. The GNU project. 2015-02-15 [2021-02-02]. (原始内容存档于2024-12-28). 
      5. ^ BSD-licensed libtool页面存档备份,存于互联网档案馆).
      6. ^ slibtool. [2024-10-04]. (原始内容存档于2024-12-14). 
      7. ^ Slibtool - Gentoo wiki. wiki.gentoo.org. [2024-03-11]. (原始内容存档于2024-10-08). 

      外部链接[编辑]