问个动态库加载的问题

zzw_happy 2009-11-23 06:10:46
我有2个动态库liba.so, libb.so
liba.so依赖于libb.so
我现在程序运行时加载liba.so(通过dlopen加载)。
但是libb.so不在linker的动态库路径中(linker的查找路径是死的,不支持LD_LIBRARY_PATH)。
有什么办法可以解决这个问题吗?我想可不可以在加载liba.so时先读取libb.so的elf内容,
手动加载其全部符号?不知道有没有解决的办法?
...全文
79 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
notax 2009-11-25
  • 打赏
  • 举报
回复
LD_PRELOAD 的方法行不行 ?
guihuahonghu 2009-11-25
  • 打赏
  • 举报
回复
可以把你的.so拷贝到/usr/lib下面去,或者在你编译的时候使用-L指定你的动态库
alexhilton 2009-11-25
  • 打赏
  • 举报
回复
放到当前路径, 或是放到系统的路径中
Wenxy1 2009-11-24
  • 打赏
  • 举报
回复
在你的程序执行目录做个符号链接到.so
zzw_happy 2009-11-24
  • 打赏
  • 举报
回复
已经说了,不支持LD_LIBRARY_PATH
zzw_happy 2009-11-24
  • 打赏
  • 举报
回复
运行程序权限有限,不能随便写目录,一般文件只能读取
liebaobei 2009-11-23
  • 打赏
  • 举报
回复
export LD_LIBRARY_PATH=...加上路径就可以了吧

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧