注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

^_^ china.ygw的博客

软件开发/c/c++/数据库/开源/linux/windows/安全/网络...

 
 
 

日志

 
 
 
 

linux加载动态库的"xxx relocation at xxx for symbol 'xxx' out of range"问题解决  

2013-07-18 22:09:29|  分类: linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

        今天,同事的一个windows程序调整为linux版本,涉及一个可执行程序调用多个动态库,该可执行程序与相应的动态库都是自定义程序。
        在linux环境下编译通过,但是运行时始终报如下错误:
        error while loading shared libraries: xxx.so: xxx relocation at xxx for symbol 'xxx' out of range
        我还是首次遇到这个问题,第一印象是编译出来的文件有问题,但是左找右找,就是没发现哪里有问题。没办法,只有上网google。发现国外有篇文章说的是编译动态库时未加-fPIC选项。
        再回头看程序的编译选项,真的未加-fPIC选项。把相关动态库的编译选项都加上-fPIC,然后把整个程序重新编译、运行,问题解决。
  评论这张
 
阅读(441)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018