当前位置: 首页 > news >正文

解决运行时报错:error while loading shared libraries xxx.so,cannot open shared object file

问题现象:

执行编译出来的可执行程序时报错:error while loading shared libraries: xxx.so: cannot open shared object file: No such file or directory

问题原因:

可执行程序执行时找不到依赖的动态库。要么是没有这个so文件,要么是文件的路径没有指对

解决:

1.没有这个so库,需要编译安装

2.路径没有指对:

找到依赖的so库的路径,将LD_LIBRARY_PATH变量的值设置成这个路径

(1)通过ldd命令查看可执行程序依赖了哪些so库,哪些是找不到的

如图所示,显示not found的库都是没有找到的,我的环境上是有安装这些库的,在/usr/local/lib这个目录下,所以需要将LD_LIBRARY_PATH设置成这个路径,执行以下命令

export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/usr/local/lib

再使用ldd查看,动态库已经找到,当所有的库都已找到时,可执行程序就可以运行了。

注意:

使用这个命令只能使得在当前shell中有效,关掉这个shell再打开就要重新设置。永久生效的办法是将这条命令添加在~/.bash_profile文件末尾。

 

相关文章:

  • 超实用:linux shell光标移动常用快捷键
  • git commit之后如何撤销
  • golang学习总结--协程、channel
  • 跟我一起写dockerfile
  • dockerfile中多个FROM指令的意义(multistage)
  • dockerfile实战:使用dockerfile制作c/c++程序docker镜像
  • c++11并发编程一(std::thread之:thread构造函数)
  • c++11并发编程二(std::thread之:线程入口函数)
  • 身份证校验码计算:根据身份证前17位计算第18位校验码-c++实现
  • c++11并发编程三(使用std::future、std::promise获取线程返回值)
  • mysql删除表时报错:Cannot delete or update a parent row: a foreign key constraint fails 解决办法
  • mysql C API 预处理接口
  • C++多个头文件中可以定义同名的namespace吗?
  • 解决mysql 1602错误:Error Duplicate entry ‘***‘ for key ‘PRIMARY‘
  • 编写Makefile:编译当前文件夹以及子文件夹下所有的ccpp文件并生成可执行文件
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • Go 语言编译器的 //go: 详解
  • If…else
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • PHP 小技巧
  • PHP的Ev教程三(Periodic watcher)
  • react-native 安卓真机环境搭建
  • V4L2视频输入框架概述
  • Vultr 教程目录
  • Xmanager 远程桌面 CentOS 7
  • 分享一份非常强势的Android面试题
  • 浮动相关
  • 基于HAProxy的高性能缓存服务器nuster
  • 跨域
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 第二十章:异步和文件I/O.(二十三)
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • # include “ “ 和 # include < >两者的区别
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #define
  • #if 1...#endif
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • $().each和$.each的区别
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (转)一些感悟
  • (转载)hibernate缓存
  • .bat批处理出现中文乱码的情况
  • .NET BackgroundWorker
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .net 调用php,php 调用.net com组件 --
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .NET 命令行参数包含应用程序路径吗?
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)