您的位置:首页 > 其它

静态库路径配置

2020-02-02 14:27 211 查看

存在问题:

  编译高博《视觉SLAM十四讲》的第六讲g2o_curve_fitting时,从thirdparty安装了g2o后,运行程序出现:   error while loading shared libraries: libg2o_core.so: cannot open shared object file: No such file for directory  

问题原因:

  在默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件,通过源码包进行安装时,如果不指定--prefix会将库安装在/usr/local目录下,而又没有在文件/etc/ld.so.conf中添加 /usr/local/lib这个目录。这样虽然安装了源码包,但是使用时仍然找不到相关的.so库,就会报错。也就是说系统不知道安装了源码包。  

解决方法:

  在/etc/ld.so.conf中添加绝对路径/usr/local/lib

 

具体步骤:

1.用gedit打开/etc/ld.so.conf文件,添加内容:/usr/local/lib,由于不能直接保存,将此文件另存到home目录下。 2.在home目录下
sudo cp -i ld.so.conf /etc/ld.so.conf  //将原本的/etc/ld.so.conf文件覆盖
sudo ldconfg  //利用ldconfg执行文件将/etc/ld.so.conf的数据读入高速缓存中

 

结果:

  再次运行./g2o_curve_fitting 成功。

 

网络资源:

linux共享库,以及/etc/ld.so.conf文件的应用 (https://www.geek-share.com/detail/2594047642.html)

/etc/ld.so.conf 文件介绍http://blog.csdn.net/yjkwf/article/details/7545002

/etc/ld.so.confldconfig PKG_CONFIG_PATH 

https://www.geek-share.com/detail/2473776441.html

https://www.cnblogs.com/gaoxiang12/p/4770813.html

转载于:https://www.cnblogs.com/ettie999/p/8889587.html

  • 点赞
  • 收藏
  • 分享
  • 文章举报
a646559381 发布了0 篇原创文章 · 获赞 0 · 访问量 347 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: