ldconfig配置动态链接路径

Linux下应用程序so链接路径及修改【包含示例,超详细】 一 Linux下应用程序so链接路径及修改【超详细】 一 一 简介 linux下编译应用程序默认的so库引用路径是系统路径,以curl 和openssl为例,如果客户电脑没有安装比如curl、openssl库,而我们的应用恰好用到了,此时我们的应用就会因为在客户电脑找不到curl和openssl库而出问题。 如果我们把libcurl.so和libssl.so.1.1拷贝到我们应用的目录下,此时还是有问题的,因为我们的应用在编译时候没有指定rpath。 二 rpath 介绍 man ld,查找链接选项rpath的 阅读详情

ldconfig配置动态链接路径

扩展链接

ldconfig命令

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

ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。

linux下的共享库机制采用了类似于高速缓存的机制,将库信息保存在/etc/ld.so.cache里边。
程序连接的时候首先从这个文件里边查找,然后再到ld.so.conf的路径里边去详细找。

根本原因

我们知道,内存的访问速度是硬盘的好几倍,所以,如果将常用的动态函数库加载到内存中(高速缓存,cache),当软件套件要采用动态函数库时,就不需要重新从硬盘里读出,这样就可以提高动态函数库的读取速度。这个时候需要ldconfig与 /etc/ld.so.conf的帮助
  • 首先,要在 /etc/ld.so.conf中写下“想要读入高速缓存中的动态函数库所在的目录”,注意,是目录而不是文件。

  • 利用ldconfig执行文件将 /etc/ld.so.conf的数据读入高速缓存中。

  • 同时在 /etc/ld.so.cache文件中记录数据。

  • 在/etc/ld.so.conf下面加一行/usr/local/mysql/lib,保存过后ldconfig一下,新的library才能在程序运行时被找到。

  • 如果想在这两个目录以外放lib,但是又不想在/etc/ld.so.conf中加东西(或者是没有权限加东西)。那也可以,就是export一个全局变量LD_LIBRARY_PATH,然后运行程序的时候就会去这个目录中找library。一般来讲这只是一种临时的解决方案,在没有权限或临时需要的时候使用。

  • ldconfig做的这些东西都与运行程序时有关,跟编译时一点关系都没有。编译的时候还是该加-L就得加,不要混淆了。

  • 总之,就是不管做了什么关于library的变动后,最好都ldconfig一下,不然会出现一些意想不到的结果。不会花太多的时间,但是会省很多的事。

需要注意的地方:

  • 往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个library会找不到。

  • 想往上面两个目录以外加东西的时候,一定要修改/etc/ld.so.conf,然后再调用ldconfig,不然也会找不到

如图:

里面存放的是动态链接库的路径,如果添加了记得ldconfig一下

通过LD_LIBRARY_PATH环境变量

通过设置LD_LIBRARY_PATH环境变量,也是可以配置动态链接库的路径的

ldconfig -- 如何设置库目录 ldconfig 阅读详情

相关推荐

LDCORE_190215_Win10闪屏补丁

LDCORE_190215_Win10闪屏补丁

Linux下修改可执行程序或者库的动态链接库的路径

在linux下编译生成可执行文件之后或者修改动态库的链接指向,需要修改其相关的链接库的路径并指定到自定义的目录下。

Youning_Yim的博客 1万+

利用WI生成无线信道数据

选取DeepMIMO的一个射线追踪场景O1(Outdoor 1)Scenario,工作频率为3.5GHz。有两条街和一个十字路口的户外场景18个基站和超过一百万个用户18个基站(BSs):BS1-BS18.每个基站的高度是8米每个基站的天线阵列是isotropic天线三个统一的x-y用户网格用户的总计数量为:1184923每个用户网格中的第一个用户总是(x,y)坐标最低的用户 所有用户的高度是2m每个用户的每个天线阵列是isotropic天线定义射频追踪场景。

bingbingaidaima的博客 5607

linux 下编译路径问题

在 Linux 下面,共享库的寻找和加载

ynzhang99的专栏 787

大漠多线程增强版:解决窗口消失、坐标错乱与识别卡死

多线程环境下窗口自动化面临的核心挑战,本质是GDI资源非线程安全、HWND生命周期失控及图像引擎状态污染三大底层问题。Windows GUI编程中,跨线程共享hDC、缓存失效的窗口句柄、OpenCV静态Mat等设计缺陷,导致FindPic失败、GetCursorPos异常、坐标跳变等典型故障。本方案通过线程局部存储(TLS)重构资源生命周期、WinEventHook+心跳探测构建实时窗口状态链、ABI对齐的多语言内存契约,实现稳定低延迟的并发UI识别与控制。适用于游戏多开监控、电商RPA、后台UI状态采集等

weixin_30561177的博客 477

BAPI_REPMANCONF1_CREATE_MTS实战:从MFBF事务码到精准零件反冲的代码级解析

本文深入解析了如何通过BAPI_REPMANCONF1_CREATE_MTS函数实现SAP生产模块中的零件反冲自动化。文章对比了MFBF事务码的手动操作与BAPI编程的优劣,详细拆解了函数的核心参数、数据结构、调用流程及事务控制,并提供了从数据准备到凭证获取的完整代码示例与避坑指南,帮助开发者实现高效、精准的批量投料过账。

weixin_29240343的博客 191

linux链接库目录设置,linux命令ldconfig-动态链接库路径设置绑定

参考:http://man.linuxde.net/ldconfighttps://blog.youkuaiyun.com/chenzixun0/article/details/56278632主要是在默认搜寻目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件...

weixin_34987818的博客 872

AI Agent智能体在Android开发中的应用

本文探讨了AIAgent(智能代理体)在Android开发中的应用,涵盖技术原理、实践案例与未来趋势。AIAgent通过机器学习、自然语言处理等技术实现代码生成、测试自动化及性能优化,显著提升开发效率。例如,强化学习模型可优化APP响应时间(公式:$\text{响应时间}=f(\text{负载},\text{资源})$),自动化测试覆盖率提升至95%。

郑伟强dev的专栏 124

ubuntu下用ldconfig配置动态链接库路径

  添加的搜索路径默认是放在 /etc/ld.so.conf.d/ 目录下的对应 "命令名.conf" 文件中,对于命令protoc,只需要在该目录下新建一个文件protoc.conf,然后在该文件中加入.so文件的路径 /usr/local/lib 就可以了。   添加完后执行ldconfig使配置生效。 转载于:https://www.cnblogs.com/swordc007/p/9257...

weixin_34318956的博客 789

PCL 点云拟合 最小二乘法拟合平面

在点云处理领域,最小二乘法(Least Squares)拟合是一种常用的数学方法,用于估计数据点的最佳拟合曲线或平面。平面拟合广泛应用于点云数据处理中的地面检测、物体表面分析等任务。 本文将介绍如何使用PCL库实现基于最小二乘法的平面拟合算法,通过拟合点云数据中的平面,来提取出数据的平面部分。

纵马踏花向自由 1026

史上最牛逼的导航网站(很全很详细)

今天,给大家推荐47个聚合型的导航网站 每一个都收录上百个网站,1个能顶100个,丝毫没有夸张的成分。 (推荐收藏) 设计师导航网站 01 优设导航 https://hao.uisdc.com/ 设计师必备的导航网站,包含设计工具、素材资源、字体设计、配色方案、酷站模板等。 界面清晰无广告,收录网站超过520个。 02 设计导航 http://h...

孙叫兽的博客 7万+

别再只会用ldd查依赖了!揭秘Linux动态链接库加载的完整路径与ldconfig配置

本文深入解析Linux动态链接库加载机制,从ldd命令的底层原理到系统级依赖管理实战,涵盖环境变量配置、ldconfig缓存优化及多版本库共存等高级技巧。通过典型问题案例演示,帮助开发者彻底解决共享库加载错误,提升Linux系统管理能力。

weixin_30363509的博客 606

华为OD机试双机位A卷 - VLAN资源池 (C++ & Python & JAVA & JS & GO)

华为OD机试2025双机位A卷 VLAN资源池,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 879

ldconfig用法

ldconfig 参考:http://man.linuxde.net/ldconfig https://blog.youkuaiyun.com/chenzixun0/article/details/56278632 主要是在默认搜寻目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动...

Steve Ellison 1584

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

linux寻找动态链接库的顺序

linux寻找动态链接库的顺序 1.编译目标代码时指定的动态库搜索路径; 2.环境变量LD_LIBRARY_PATH指定的动态库搜索路径; 3.配置文件/etc/ld.so.conf中指定的动态库搜索路径; 4.默认的动态库搜索路径/lib; 5.默认的动态库搜索路径/usr/lib。 解决Linux下找不到.so库文件的问题 新建/etc/ld.so.conf.d/yourfile.conf文件,将该lib包的目录路径添加到文件最下方。 运行ldconfig命令,使配置生效。 ldconfig命令

xie__jin__cheng的博客 1263

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ldconfig mysql_ldconfig命令介绍

ldconfig是一个动态链接库管理命令,其目的为了让动态链接库为系统所共享。**ldconfig的主要用途:默认搜寻/lilb和/usr/lib,以及配置文件/etc/ld.so.conf内所列的目录下的库文件。搜索出可共享的动态链接库,库文件的格式为:lib*.so.,进而创建出动态装入程序(ld.so)所需的连接和缓存文件。缓存文件默认为/etc/ld.so.cache,该文件保存已排好序的...

weixin_35551323的博客 168

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【转】ldconfig和LD_LIBRARY_PATH

<br />ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令.<br /><br />ldconfig命令行用法如下:<br />ldconfig [-v|--verbose] [-n] [-N] [-X] [-f CONF] [-C CACHE] [-r ROOT] [-l] [-p|--print-cache] [-c FORMAT] [--format=FORMAT] [-V] [-?|--help|--usage] path...<br /><br /

qp314的专栏 772

linux中ldconfig命令 以及 添加动态库自动搜索路径

为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfig.此执行程序存放在/sbin目录下.  ldconfig命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为/

inuyashaw的博客 1万+

ldconfig动态链接库管理以及修改ld.so.conf.d

将"/usr/local/lib"加入配置文件重 执行命令: echo "/usr/local/lib" >> /etc/ld.so.conf 然后再直接执行: ldconfig

编程的本质是数学问题 1万+

[ubuntu] opencv等第三方库编译安装后 动态链接共享库路径配置

以opencv为例进行说明,当opencv在编译安装时,没有将其安装路径选用默认的“/usl/local”而是放在其他路径下,例如“/home/wyj/[install]”时,需要进行动态链接共享库路径配置 linux的默认的共享库的搜索路径是:/lib和 /usr/lib,这两个文件夹,不包含子路径; 如果共享库不在这两个路径中的话,不能自动链接, 即使codeblock等编译器中将链接器...

wangyjfrecky的博客 2942

ldconfig命令介绍

ldconfig是一个动态链接库管理命令,其目的为了让动态链接库为系统所共享。 **ldconfig的主要用途:默认搜寻/lilb和/usr/lib,以及配置文件/etc/ld.so.conf内所列的目录下的库文件。搜索出可共享的动态链接库,库文件的格式为:lib*.so.,进而创建出动态装入程序(ld.so)所需的连接和缓存文件。缓存文件默认为/etc/ld.so.cache,该文件保存已排好序...

chanpolu6715的博客 396

ldconfig mysql_ldconfig配置

https://www.man7.org/linux/man-pages/man8/ldconfig.8.html作用:默认搜索/lib和/usr/lib,以及配置文件/etc/ld.so.conf内所列的目录下的库文件。搜索出可共享的动态链接库,库文件的格式为:lib*.so*,进而创建出缓存文件。缓存文件默认为/etc/ld.so.cache,该文件保存已排好序的动态链接库名字列表。ldcon...

weixin_39829307的博客 106

动态链接库的路径配置-rpath/ld.so.conf/LD_LIBRARY_PATH

相关链接:https://blog.youkuaiyun.com/knowledgebao/article/details/84315842 ld.so 搜索库路径的优先级是这样的:  RPATH ,编译链接时加入 -rpath 参数指明所谓的 RUNPATH ,这样可执行文件(或者依赖其他动态链接库的动态链接库)就能告诉 ld.so 到哪里去搜索对应的动态链接库了。  LD_LIBRARY_PATH ...

knowledgebao的博客 2375

ubuntu 动态链接库修复

Luo Weifeng 2011-8-27 经常混迹于linux上的同志经常需要自己编译安装软件, 很多软件将自己的动态链接库 .so 默认安装在了 /usr/local/lib 中, 而ubuntu发行版对ld的配置默认不包含这个路径。 这样,如果我们想使用这些软件,就需要

1392

ldconfig是一个动态链接库管理命令

为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfigldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为 /etc/ld.so.cache,此文件保存

linuxchuxuezhe123的专栏 239
上一篇: tldr安装与卸载
下一篇: Pytorch模型训练-----------数据集加载之ImageFolder之全过程
黑猫爱小鹿
博客等级 码龄8年 1万+粉丝 205原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值