libtool

来源:互联网 发布:网络摄像头一天多少g 编辑:程序博客网 时间:2024/05/16 15:25

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)







原创粉丝点击