一尘不染

libtool的.la文件有什么用?

linux

libtool的.la文件有哪些用途?它们如何与共享库一起使用?


阅读 423

收藏
2020-06-02

共1个答案

一尘不染

它是一个文本文件,其中包含对库的描述。

它允许libtool创建与平台无关的名称。

例如,libfoo转到:

在Linux下:

/lib/libfoo.so       # Symlink to shared object
/lib/libfoo.so.1     # Symlink to shared object
/lib/libfoo.so.1.0.1 # Shared object
/lib/libfoo.a        # Static library
/lib/libfoo.la       # 'libtool' library

Cygwin下

/lib/libfoo.dll.a    # Import library
/lib/libfoo.a        # Static library
/lib/libfoo.la       # libtool library
/bin/cygfoo_1.dll    # DLL

在Windows MinGW下:

/lib/libfoo.dll.a    # Import library
/lib/libfoo.a        # Static library
/lib/libfoo.la       # 'libtool' library
/bin/foo_1.dll       # DLL

所以libfoo.la是由平台之间保留的唯一文件libtool,允许以理解与发生了什么:

  • 库依赖
  • 实际文件名
  • 库版本和修订

无需依赖特定平台的库实现。

2020-06-02