libtool 的.la文件有什么用?它们如何与共享对象一起使用?
.la
它是一个包含库描述的文本文件。
它允许libtool创建与平台无关的名称。
libtool
例如,libfoo转到:
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
libfoo.la
不依赖于库的特定平台实现。