libtool

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)







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值