您当前的位置: 首页 >  搜索

柳鲲鹏

暂无认证

  • 0浏览

    0关注

    4642博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

LINUX/MAC的rpath,搜索依赖库时从哪里开始

柳鲲鹏 发布时间:2022-03-01 16:06:37 ,浏览量:0

  最近一段时间,因为加载调用各种本地库,在LINUX/MAC上专门研究了rpath问题。最初是想使用全路径方式,这样也能正确执行,有两个缺点:

  • 路径太长,不好维护。
  • 安装路径如果变化,就错了。

  改进办法是什么?就是使用相对路径,这样搜索加载时基于安装目录下的相对路径,就避免了上述问题。那么相对路径是相对于谁?开始以为,位于同一个目录下的库文件,rpath使用.(当前目录)。结果报错说找不到。后来经过实验,结论是:

  rpath搜索相对路径时,是从当前执行文件开始。

  举例来说:安装目录是APP_HOME;安装目录下有一个Office执行文件和ffmpeg目录;ffmpeg目录下有a.so/b.so,有依赖关系。rpath怎样设置,才能得到正确结果?

  • 执行文件在APP_HOME,a/b的rpath应该都是./ffmpeg。
  • 执行文件在APP_HOME/bin,a/b的rpath应该都是../ffmpeg(即先返回上一级目录,再到ffmpeg)。
关注
打赏
1665724893
查看更多评论
立即登录/注册

微信扫码登录

0.0513s