admin管理员组

文章数量:1530516

思路:一般来说,通过make命令已经将程序依赖的动态库编译出来了,通过make install命令已经将动态库安装到系统的某个路径下。找没找到动态库就看这个路径是否包含在系统默认搜索动态库的路径中,如果不在,那么就会提示找不到动态库。以下三种方法,就是根据前面的分析来解决的。

方法一:修改LD_LIBRARY_PATH环境变量

特点:这种方法主要处理临时的动态库加载,LD_LIBRARY_PATH环境变量修改后,只能是对当前的用户生效。

LD_LIBRARY_PATH的作用:这个环境变量用于在程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径,注意,LD_LIBRARY_PATH中指定的路径会在系统默认路径之前进行查找。

具体步骤:

1、找到动态库所在路径:sudo find / -name "[动态库名字]"

2、打开~/.bashrc文件

3、在该文件最后一趟添加:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:[动态库所在的绝对路径]

4、source ~/.bashrc

方法二:修改/etc/ld.so.conf配置文件

特点:对所有用户生效。不是每个操作系统都有这个配置文件,就Ubuntu系统有。

/etc/ld.so.conf的作用:记录了程序加载运行期间查找动态链接库时的路径。

具体步骤:

1、找到动态库所在路径:sudo find / -name "[动态库名字]"

2、打开/etc/ld.so.conf文件:sudo vi /etc/ld.so.conf

3、在最后一行添加动态库的绝对路径

4、重新加载/etc/ld.so.conf文件:sudo ldconfig -v

方法三:创建动态库的软连接(推荐)

特点:让所有用户生效;并且通用,只要是Linux类型的操作系统,都会去/usr/lib目录下去找动态库。

具体步骤:

1、找到动态库所在路径:sudo find / -name "[动态库名字]"

2、创建动态库软连接:ln -s [动态库] [待创建的软链接]

注意:

1、创建软连接的时候要用绝对路径,如果用相对路径,会导致只在当前路径有效,其他路径这个软连接就找不到了。

2、不建议用cp的方式代替ln -s的方式。原因:当动态库升级的时候,有可能导致动态库版本不一致,还是链接的旧版本。

如何查看Linux系统下程序运行时使用的库?

Linux系统下程序运行会实时的用到相关动态库,某些场景下,比如需要裁剪不必要的动态库时,就需要查看哪些动态库被用到了. 以运行VLC为例. VLC开始运行后,首先查看vlc的PID,比如这次查到的V ...

如何解决Linux 系统下 ifconfig 命令无网络接口 ens33

今天我在做Redis的哨兵集群模式的时候,以前都是好的,也不知道从什么时候开始就无法连接Redis服务器了,就是运行如下命令,没有效果:redis-server redis.conf,然后在通过命令查 ...

解决Linux系统下Mysql数据库中文显示成问号的问题

当我们将开发好的javaWEB项目部署到linux系统上,操作数据库的时候,会出现中文乱码问题,比如做插入操作,发现添加到数据库的数据中文出现论码,下面就将解决linux下mysql中文乱码问题! 打 ...

linux系统下C语言调用lapack ,blas库

在利用C语言编程,经常调用其他的软件包,其中lapack,blas库是最常用的两个库,这里讲下在linux系统下,C语言编程如何调用这两个库: 1.首先讲下blas库的调用,这里以两个向量内积函数为例 ...

Linux系统下root密码遗忘等系统故障的修复方法 - 运维总结

IDC机房有一台centos系统的服务器,由于这台服务器的系统装了好长时间,且root密码中间更新过几次,后面去机房现场维护时,登陆密码遗忘了,悲催啊~没办法,只能开机进入“单用户模式”进行密码重置了 ...

libevent 实现的socket 通信 server以及解决找不到动态库的方法

注: client 个人觉得没必要用 libvent来实现就没写 注:由于 涉及到回调函数的使用 如有疑惑的可以先去了解回调函数的实现机理 先来说一下 libevent主要是干啥的 : 内部封装了 s ...

python 1: 解决linux系统下python中的matplotlib模块内的pyplot输出图片不能显示中文的问题

问题: 我在ubuntu14.04下用python中的matplotlib模块内的pyplot输出图片不能显示中文,怎么解决呢? 解决: 1.指定默认编码为UTF-8: 在python代码开头加入如下 ...

linux系统下php安装mbstring扩展的二种方法

.执行 复制代码代码如下: yum install php-mbstring 2. 修改php.ini (这一步非常重要, 部分lxadmin版本无法自动修改) 复制代码代码如下: echo ‘ext ...

随机推荐

javaSE第三篇

1.classpath: set classpath = 类路径 用来找class文件 set classpath = .;(默认表示当前路径   2.数组的拷贝 方法一:Arrays.copyOf( ...

vim 使用笔记

vim命令笔记 a 插入 insert 插入 :%!xxd 以16进制方式进行编辑 :%!xxd -r 从16进制还原

python函数递归和生成器

一.什么是递归 如果函数包含了对其自身的调用,该函数就是递归的.递归做为一种算法在程序设计语言中广泛应用,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的 ...

Think in UML笔记第1章--为什么要UML

1.1 面向过程还是面向对象 面向过程和面向对象都是一种软件技术.例如把面向过程归纳为结构化程序设计.DFD图.ER模型.UC矩阵等,而面向对象则被归纳为继承.封装.多态.复用等具体的技术.事实上,上 ...

JDBC数据库连接JAVA和一些基本语句

连接JDBC       1)JDBC简介         - JDBC就是Java中连接数据库方式         - 我们可以通过JDBC来执行SQL语句.       2)获取数据库连接     ...

ES6中let和闭包

在开始本文之前我们先来看一段代码 for(var i=0;i<10;i++){ arr[i]=function(){ return i; } } console.log(arr[3]());// ...

Qt与FFmpeg联合开发指南(二)——解码(2):封装和界面设计

与解码相关的主要代码在上一篇博客中已经做了介绍,本篇我们会先讨论一下如何控制解码速度再提供一个我个人的封装思路.最后回归到界面设计环节重点看一下如何保证播放器界面在缩放和拖动的过程中保证视频画面的宽高 ...

bzoj 4767&colon; 两双手 组合 容斥

题目链接 bzoj4767: 两双手 题解 不共线向量构成一组基底 对于每个点\((X,Y)\)构成的向量拆分 也就是对于方程组 $Ax * x + Bx * y = X $ \(Ay * x + B ...

【转】头部属性 Meta http-equiv 大全

http-equiv类似于HTTP的头部协议,它回应给浏览器一些有用的信息,以帮助正确和精确地显示网页内容.常用的http-equiv类型有: 1.Content-Type和Content-Langu ...

&period;Net框架搭建:SQL Server EF MVC简单三层框架

https://blog.csdn/pukuimin1226/article/details/52313656

本文标签: 找不到动态程序方法系统