Linux依赖库路径(运行时)

0 前言

    《Linux依赖库路径(编译时)》介绍了编译时如何指定依赖库路径,本文重点介绍运行时如何指定依拉库路径。

1 LD_LIBRARY_PATH

     可通过该环境变量指定依赖库路径:

export LD_LIBRARY_PATH=<新增依赖库路径>:$LD_LIBRARY_PATH

:通过该环境变量指定库路径是有弊端的[5], 因此Ubuntu这样发行版默认没有用它。虽然如此,但用于调试还是很有用的。

2 LD_RUN_PATH

    类似于LD_LIBRARY_PATH,只是它还可以用于编译时[3]。

3 ld.so.conf

    默认配置如下:

include /etc/ld.so.conf.d/*.conf
# @file: /etc/ld.so.conf

    /etc/ld.so.conf.d中包含若干配置文件,例如:

 Multiarch support
/usr/local/lib/x86_64-linux-gnu
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu
# @file: /etc/ld.so.conf.d/x86_64-linux-gnu.conf

       此外,还可以往“/etc/ld.so.conf.d”中添加配置,例如:

/usr/local/lib
# @file: /etc/ld.so.conf.d/opencv.conf

    更新使其生效: 

sudo ldconfig

4 LD_PRELOAD

    可通过该环境变量指定需要预先加载的库[4]:

export LD_PRELOAD=/xxx/yyy/libTest.so:$LD_PRELOAD

参考资料

[1]LD_LIBRARY_PATH(百度百科)

[2]Linux下so动态库查看与运行时搜索路径的设置--掌握这个就够了

[3]LD_RUN_PATH && LD_LIBRARY_PATH

[4]高级C/C++编译技术之读书笔记(四)之定位库文件

[5]为什么说LD_LIBRARY_PATH不好

[6]Shared Libraries: Understanding Dynamic Loading]

[7]Shared Library Search Paths

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OneSea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值