error while loading shared libraries解决办法

36 篇文章 1 订阅
9 篇文章 0 订阅

error while loading shared libraries: librdkafka++.so.1: cannot open shared object file: No such file or directory 解决办法

 

1,cd /etc/ 

2,sudo ldconfig

 

///

/*********************** over****************************/

//

 

 

出错如下:

主要错误:error while loading shared libraries: libboost_regex.so.1.51.0: cannot open shared object file: No such file or directory

错误过程如下:

 

[cpp] view plain copy

  1. [root@node07 C++]# ll  
  2. 总用量 960  
  3. -rw-r--r--. 1 root root  90915  9月 15 20:47 1.html  
  4. -rw-r--r--. 1 root root  86714  9月 15 20:48 2.html  
  5. -rw-r--r--. 1 root root  89032  9月 15 20:49 3.html  
  6. -rw-r--r--. 1 root root    239  9月 16 10:40 main.cpp  
  7. -rw-r--r--. 1 root root   5684  9月 16 10:48 main.o  
  8. -rw-r--r--. 1 root root    320  9月 16 10:28 Makefile  
  9. -rwxr-xr-x. 1 root root 256884  9月 16 10:48 target  
  10. -rw-r--r--. 1 root root      0  9月 15 20:49 test.txt  
  11. -rw-r--r--. 1 root root   4365  9月 15 20:35 TextExtractor.cpp  
  12. -rw-r--r--. 1 root root   1710  9月 15 20:58 TextExtractor.h  
  13. -rw-r--r--. 1 root root 421412  9月 16 10:48 TextExtractor.o  
  14. [root@node07 C++]# ./target  
  15. ./target: error while loading shared libraries: libboost_regex.so.1.51.0: cannot open shared object  
  16. file: No such file or directory  


那就表示系统不知道xxx.so放在哪个目录下,这个时候就要在/etc/ld.so.conf中加入xxx.so所在的目录。首先查找存在的目录,结果为/usr/local/boost_1_51_0/~/boost_install/lib/,具体操作如下:

 

[cpp] view plain copy

  1. [root@node07 C++]# find / -name libboost_regex.*  
  2. /usr/local/boost_1_51_0/bin.v2/libs/regex/build/gcc-4.4.5/release/threading-multi/libboost_regex.so.1.51.0  
  3. /usr/local/boost_1_51_0/bin.v2/libs/regex/build/gcc-4.4.5/release/link-static/threading-multi/libboost_regex.a  
  4. /usr/local/boost_1_51_0/~/boost_install/lib/libboost_regex.so.1.51.0  
  5. /usr/local/boost_1_51_0/~/boost_install/lib/libboost_regex.so  
  6. /usr/local/boost_1_51_0/~/boost_install/lib/libboost_regex.a  

 

一般而言,有很多so档会在/usr/local/lib这个目录下,所以在/etc/ld.so.conf中加入/usr/local/lib这一行,可以解决此问题。

将/etc/ld.so.conf存档后,还要执行/etc/ldconfig 来更新一下才会生效。

 

[cpp] view plain copy

  1. [root@node07 C++]# cd /etc/  
  2. [root@node07 etc]# ldconfig  


再次运行target 无错误。

 

获取更多帮主请关注小程序

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值