【LD_LIBRARY_PATH什么时候必须要设置?】

混淆点

linux上的编译跟LD_LIBRARY_PATH的关系密不可分,但有时不设置LD_LIBRARY_PATH设置也能编译通过,有时候又不行,特别容易混淆,很多博客一大抄,混淆点没有讲明白,那这个究竟怎么区分?

LD_LIBRAY_PATH的作用

一句话来说就是用来寻找动态库的路径,比如程序编译时,比如服务启动时,比如动态打开时,凡是涉及到需要动态搜索的加载动态库的,都需要设置这个路径,这是linux用来寻找动态库的

所有动态库路径都需要加载到LD_LIBRAY_PATH中么?

不一定。有时候没加入也没问题呢?原因要从系统寻找动态库的方法讲起有默认系统寻找路径,有编译时候路径可以指示等等,这个网上有很多文章讲述,这里不再赘述。

必须要加入LD_LIBRAY_PATH

比如间接引用的动态库路径,比如编译时用到了a库,那么在makefile中可以用-L和-l链接a库,这时候即时不配置LD_LIBRAY_PATH也没问题,但是如果a库中引用了b库,那么必须要将b库放到LD_LIBRARY_PTH。

总结

一句话总结是,保险起见,全部加入到动态库。如果没加入也没问题,是因为从别的途径也能获取到这个库的路径

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值