如何使用libtool在Mac OS上创建.a文件(静态库)?

Cod*_*gle 5 macos compilation objective-c static-libraries libtool

当谈到使用终端手动构建库时,我很遗憾没有太多的经验,我在这里停留了一下.

我已经下载了一个带有makefile等文件的objective-c库.

我可以看到该文件夹​​还包含一个名为"libtool"的可执行文件,我做了一些搜索,我想这是我必须用来构建必要的.a文件的程序?不幸的是,我真的找不到任何有用的文章似乎有用.

该库的文件夹包含一些.sh文件,.pc文件以及一些.la文件,但我有点不确定我必须使用哪些作为libtool程序的输入来将它们编译成.a文件.

所以我的问题是你有什么文件输入libtool将它们编译成必要的.a文件?你用什么命令来完成这个?

谢谢大家的时间:)

Som*_*ude 8

首先介绍一下静态库:

Unix环境中的静态库(如Mac OSX和Linux)实际上只是ar命令行程序创建的目标文件的存档.

这就是.a扩展所代表的:存档.

要创建包含某些目标文件的静态库,可以使用如下命令:

ar crv libmy_library.a objectfile1.o objectfile2.o
Run Code Online (Sandbox Code Playgroud)

至于你的实际问题,libtool应该从makefile自动调用,创建库,这是以文件结尾的文件.la.但是,这不是真正的库,真正的库位于隐藏目录中.你可以通过例如找到它

find . -name '*.a'
Run Code Online (Sandbox Code Playgroud)

但就像我说的那样,makefile 应该已经处理好所有事情,包括在你做的时候在正确的位置安装正确的库make install.

有关信息libtool,请参阅此站点.