Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2775693
  • 博文数量: 505
  • 博客积分: 1552
  • 博客等级: 上尉
  • 技术积分: 2514
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-23 18:24
文章分类

全部博文(505)

文章存档

2019年(12)

2018年(15)

2017年(1)

2016年(17)

2015年(14)

2014年(93)

2013年(233)

2012年(108)

2011年(1)

2009年(11)

分类: C/C++

2018-02-13 10:20:54

最近打包SDK, 需要把多个*.so文件合并。
通过google发现,*.so文件不能直接合并,因为其中已经没有重定向信息。但多个静态库文件是可以合并成一个动态库文件的。

解决办法:

先把所有要打包的库编译生成静态库,然后使用如下命令把它们合并成一个*.so:

gcc -shared -o c.so -Wl,--whole-archive a.a b.a -Wl,--no-whole-archive

原文链接:http://blog.csdn.net/huangkangying/article/details/53119999

另外合并多个.a库的方法是:

.a 文件的结构和.tar文件就没有什么区别。 x 命令解出来, a 命令添加, t命令列表

假设A.a, B.a C.a 在/usr/local/lib目录下 mkdir /tmp/libABC cd /tmp/libABC ar x /usr/local/lib/A.a ar x /usr/local/lib/B.a ar x /usr/local/lib/C.a ar cru libABC.a *.o ranlib libABC.a

阅读(10231) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~