Chinaunix首页 | 论坛 | 博客
  • 博客访问: 116759
  • 博文数量: 26
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 122
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-11 10:02
个人简介

分享是一种快乐!

文章分类

全部博文(26)

文章存档

2014年(11)

2013年(15)

我的朋友

分类: C/C++

2014-04-08 11:56:08

1 将多个静态库编译成动态共享库
gcc -shared -fPIC -m32 -wl,--whole-archive   -ld -lb -lc -Wl,--no-whole-archive  -Wl,-soname -Wl,a.so -o a.so
将-ld -lb -lc 编译成a.so动态库

-shared -fPIC 选项用于生产共享库
-m32选项用于指定编译器的类型
-Wl选项告诉编译器将后面的参数传递给链接器。
参考博文:http://blog.sina.com.cn/s/blog_54f82cc201011op1.html

--whole-archive   $(SLIBS) -Wl
--no-whole-archive  -Wl
参考博文:http://blog.csdn.net/brooknew/article/details/8463822

-soname -Wl
-soname选项指定了动态库的soname(简单共享名,Short for shared object name)
参考博文:http://blog.csdn.net/gohome520/article/details/7259450

2 将链接文件和动态库生成可执行程序
gcc -m32 a.o b.o c.so -o d -lpthread -ldl --rdynamic
由于调用动态库c.so需要加入编译选项-ldl --rdynamic,由于涉及线程需要加入编译选项-lpthread
参考博文:http://blog.const.net.cn/a/17158.htm
阅读(1991) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~