libtool ?? 到底是lib还是bin ??
sudo apt-get install -y libtool-bin
这是一个工具
在项目中看到的lo文件, 其实是通过libtool命令行生成出来的。 (不过有些项目自带libtool, 比如binutils-gdb)。
参考文章:
https://www.ibm.com/developerworks/cn/aix/library/1007_wuxh_libtool/index.html
# Summary:
比如, 我们已经有一个库, 位于
/tmp/libcompress.la
我们要从main.c链接出一个main
则:
libtool --mode=compile gcc -c main.c 编写编译规则(向libtool说明:我们的目标文件从哪里来)
libtool --mode=link gcc -o main main.lo /tmp/libcompress.la (最终编译生成: 在libtool链接main.lo和/tmp/libcompress.la)
得到我们的main(x)
如何生成我们的/tmp/libcompress.la:
libtool --mode=compile gcc -c compress.c (恩。这里是生成compress.lo, 来管理compress.c的compress.o)
然就就可以建立compress库了:
(libtool链接输出.la文件)
libtool --mode=link gcc -o libcompress.la compress.lo -rpath /tmp -lz (后面是链接libz库, 让libcompress.la记住)
生成完毕, 然后就可以安装啦
libtool --mode=install install -c libcompress.la /tmp
之后还有一个finish 模式
libtool -n --mode=finish /tmp
安装和未安装的libcompress.la文件是不同的(diff比较得知: 一个install yes 一个install no)
libtool --mode=link gcc -o main main.lo ./libcompress.la 生成的是一个叫main的脚本
libtool --mode=link gcc -o main main.lo /tmp/libcompress.la 生成的是main(elf)