linux - libtool 的 .la 文件有什么用?

标签 linux libraries libtool

libtool 的 .la 文件有什么用?它们如何与共享对象一起使用?

最佳答案

它是一个包含库描述的文本文件。

它允许 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 在平台之间保存的文件,允许理解发生了什么:

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

不依赖于库的特定平台实现。

关于linux - libtool 的 .la 文件有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15643301/

相关文章:

javascript - 定义所有公共(public)方法或原型(prototype)个人方法?

ld - install_name_tool 无法使用更改 "because larger updated load commands do not fit"

doxygen - 使用 autotools 生成(并安装)doxygen 文档

Linux字符设备——读取缓冲区太小怎么办?

linux - 设备驱动。制作文件、外部模块

c++ - CImg编译错误: t_normal not in global namespace

由于 AM_INIT_AUTOMAKE 中的 subdir-objects 选项,Autotools 构建失败

c++ - 操作系统信号处理循环 - 阻塞或非阻塞读取?

Linux slab 分配器和缓存性能

c++ - 如何在Linux上将内置的源Boost Boost库添加到Qt Creator