Chinaunix首页 | 论坛 | 博客
  • 博客访问: 38392
  • 博文数量: 9
  • 博客积分: 125
  • 博客等级: 入伍新兵
  • 技术积分: 83
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-07 16:17
文章分类

全部博文(9)

文章存档

2012年(9)

我的朋友

分类: LINUX

2012-06-10 12:41:11

最近在项目中遇到一个奇怪的问题在使用dlopen打开一个动态库时(test.so)出现段错误,
test.so里面使用了线程函数。而当不链接-lpthread库时,dlopen没有问题,程序可以正常运行
 
最终发现原因如下,在链接生成可执行档时不小心加了-static选项,这样生成的可执行档是链接的静态库,而当dlopen test.so时要依赖-lpthread动态库,所以就有可能出错(因为可执行档中没有加载动态库需要的信息)
阅读(1181) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~