libtool: convert/extract la 到 a

libtool: convert/extract la to a

是否可以将文件从 .la 库转换或提取为 .a?

我有一个项目,其中我的应用程序静态链接到所有库,但其中一些是使用 libtool (.la libs) 生成的,而另一些是使用 gcc (.a lib) 创建的。在这个 中有人说,.libs 子目录中应该是 .a libfile,但我发现那里只有 .la、.so 和 .o 文件,可能是因为 lib 项目没有配置 - -启用静态。

that in the .libs subdirectory should be .a libfile, but I've found there only .la, .so, and .o files, probably because the lib project was not configured with --enable-static.

我也是这么想的。您需要这样做才能获得 .a 文件。您正在使用 libtool 构建的库可能正在使用 gcc 进行编译。

Is it possible to convert or maybe extract a file from .la library to .a?

没有。 .la 文件中没有可提取到 .a 文件的目标代码。正如另一个答案的 link 所说,它基本上是一个元数据文件,说明如何 link 以及文件的位置等。 .la 文件是人类可读的,所以如果你真的想要要知道里面发生了什么,你可以检查它。