转载自:http://blog.csdn.net/sahusoft/article/details/7388617

一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如:

tmux: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory

原因一般有两个, 一个是操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对, 遇到这种情况那就去网上下载并安装上即可.

另外一个原因就是已经安装了该共享库, 但执行需要调用该共享库的程序的时候, 程序按照默认共享库路径找不到该共享库文件.

所以安装共享库后要注意共享库路径设置问题, 如下:

1) 如果共享库文件安装到了/lib或/usr/lib目录下, 那么需执行一下ldconfig命令

ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件. 缓存文件默认为/etc/ld.so.cache, 此文件保存已排好序的动态链接库名字列表.

2) 如果共享库文件安装到了/usr/local/lib(很多开源的共享库都会安装到该目录下)或其它"非/lib或/usr/lib"目录下, 那么在执行ldconfig命令前, 还要把新共享库目录加入到共享库配置文件/etc/ld.so.conf中, 如下:

# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
# echo "/usr/local/lib" >> /etc/ld.so.conf
# ldconfig

3) 如果共享库文件安装到了其它"非/lib或/usr/lib" 目录下,  但是又不想在/etc/ld.so.conf中加路径(或者是没有权限加路径). 那可以export一个全局变量LD_LIBRARY_PATH, 然后运行程序的时候就会去这个目录中找共享库. 

LD_LIBRARY_PATH的意思是告诉loader在哪些目录中可以找到共享库. 可以设置多个搜索目录, 这些目录之间用冒号分隔开. 比如安装了一个mysql到/usr/local/mysql目录下, 其中有一大堆库文件在/usr/local/mysql/lib下面, 则可以在.bashrc或.bash_profile或shell里加入以下语句即可:

export LD_LIBRARY_PATH=/usr/local/mysql/lib:$LD_LIBRARY_PATH

一般来讲这只是一种临时的解决方案, 在没有权限或临时需要的时候使用.

转载于:https://www.cnblogs.com/daochong/p/6388767.html

c++ 加载库错误问题解决相关推荐

  1. linux应用程序启动时加载库错误问题

    ldd text查看依赖库 ln -s /lib64/libpcre.so.0 /usr/local/lib/libpcre.so做软连接 转载于:https://www.cnblogs.com/da ...

  2. oracle无法加载库单元,PLS-00907: 无法加载库单元 是什么错误啊??

    本帖最后由 foodfoodfoodfood 于 2015-8-5 11:22 编辑 Wed Aug 05 10:54:49 BEIST 2015 Errors in file /oradata/xy ...

  3. Metrics_collector还没有添加到共享预加载库(shared_preload_libraries)中

    gpcc踩坑 本文最大的锅,最大的坑来了 安装完成之后会报以下错误!你可以完全忽略错误的解决过程直接跳到最后! Metrics_collector还没有添加到共享预加载库(shared_preload ...

  4. 关于VS项目加载失败的问题解决

    关于VS项目加载失败的问题解决 1.VS2013+Opencv2.10配置,配置好之后把属性表(如图1所示的属性管理器中"Microsoft.CPP.Win32.user")保存下 ...

  5. 静态链接库、动态链接库和动态加载库

    前言 静态库是obj文件的一个集合(目标文件中通常仅解析了文件内部的变量和函数,对于引用的函数和变量还没有解析,这需要将其他已经编写好的目标文件引用进来,将没有解析的函数和变量进行解析,通常引用的目标 ...

  6. android图片加载库Glide

    什么是Glide? Glide是一个加载图片的库,作者是bumptech,它是在泰国举行的google 开发者论坛上google为我们介绍的,这个库被广泛的运用在google的开源项目中. Glide ...

  7. linux dlopen 内存,Linux下加载库的有关问题(dlopenm, dlsym)

    Linux下加载库的问题(dlopenm, dlsym) 如题, 程序中发现load库成功,但是加载函数的时候报错: undefined symbol functionname 是很简单的一个东西,因 ...

  8. 【系统】windows2003 至少有一个服务或驱动程序无法加载或错误

    不知道怎么搞的,电脑上装的 windows 2003 每次安装了程序卸载后,开机时总会提示 "至少有一个服务或驱动程序无法加载或错误",弄的我很郁闷.在网上找了很多解决的办法.感觉 ...

  9. Android图片加载库的封装实战

    重磅更新 2017-02-16 2017-05-09 优化圆形图片加载 更新demo 前言 主流图片加载库的对比 Android-Universal-Image-Loader Picasso Glid ...

最新文章

  1. retinaface极坐标
  2. 安卓开发仿微信图片拖拽_使用Android 模仿微信朋友圈图片拖拽返回
  3. 线程安全退出 VS PostMessage,SendMessage的区别
  4. C#LeetCode刷题之#581-最短无序连续子数组( Shortest Unsorted Continuous Subarray)
  5. Mathematica实现微分算子功能
  6. [编程题]手机屏幕解锁模式
  7. 《R与Hadoop大数据分析实战》一1.1 安装R
  8. Android精品开源项目整理_V20140221
  9. SACD ISO提取DSF文件及添加封面
  10. skype安卓手机版_安卓手机版电视直播播放器
  11. Java调用ApacheOpenOffice将Word转PDF
  12. 计算机存储单位t代表什么意思,存储单位是什么
  13. android https握手失败,Android SSL错误握手失败
  14. WIN10运行软件,窗口不显示 解决办法
  15. 无创血糖仪的发展历程
  16. 视力测试的软件,‎App Store 上的“测试你的眼睛 —— 视力锻炼检查”
  17. 乔布斯逝去十年 苹果坠入凡间?
  18. 【力扣3题】快乐数有效的字母异位词字符串中的单词数
  19. diy直立双足机器人_动手制作机器人,双足移动机器人DIY
  20. linux下分析webmail代码,十分钟快速架设Linux系统下WebMail

热门文章

  1. 毕设日志——Fast RCNN
  2. js获取form表单数据和form表单赋值
  3. Java集合--LinkedList
  4. Quartz.Net 学习随手记之03 配置文件
  5. Linux运维人员共用root帐户权限审计
  6. 【iCore3 双核心板_FPGA】实验二十三:使用JTAG UART终端打印信息
  7. win8笔记本关闭小键盘
  8. 将数据库中一张表中数据复制到另一张表
  9. 拖来拖去今天终于重装系统了
  10. kettle mysql 乱码