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

还东国的博客

行之苟有恒,久久自芬芳

 
 
 

日志

 
 

Eclipse开发总结之三动态库的调用  

2014-03-06 17:38:27|  分类: 环境安装使用 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Eclipse开发总结之三动态库的调用

ECLIPSE中进行动态库的开发,是很常见的事情,但是上面的博文中已经介绍了编译的过程,但是如果你要写一个测试程序来调用这些个库,就会发现,总是报“error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory”,这个事情有点儿麻烦,在QT中,只要是象上文中一样指定了头文件路径和库文件的路径后就会自动链接到那个位置,但在ECLIPSE中则不一样,编译是一回事,运行又是一回事儿,这事儿肯定让你恶心。

解决方法很简单:

1、  最简单的方法,直接把需要的库拷贝到/usr/lib 或者 /lib目录下,这样啥都不干就都可以调用了。

2、  使用临时的#export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/libpath

3、  使用 Tool Setting -> GCC C++ Linker -> Miscellaneous -> Other options 添加 -R/路径。这种方法生成程序以后,动态链接库的路径就不能变动了。(这种方法没能成功)

4、  编辑/etc/ld.so.conf文件,在新的一行中加入库文件所在目录;运行ldconfig,以更新/etc/ld.so.cache文件

5、  是在/etc/ld.so.conf.d/目录下新建任何以.conf为后缀的文件,在该文件中加入库文件所在的目录;运行ldconfig,以更新/etc/ld.so.cache文件;

完成后使用sudo ldconfig命令,否则会报没有权限。建议使用第五种方法,添加的格式是:

         /usr/local/lib

         /home/xxx/xxx/

这里出现了一个错误,就是在最前面增加了inclue,结果老是报无法使用,还是上面的两样的错误。

上面的方法成功后,使用ldd xxx,看一下依赖的库是不是都在。就可以了。

  评论这张
 
阅读(394)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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