DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

最近调试的时候遇到一个问题,系统中安装的curl版本和调试程序依赖的curl版本不一致,编译时在Makefile里用gcc -L指定了libcurl的路径能够顺利编译,但是gdb启动程序时报错,依赖的curl动态库版本与加载的不一致,加载失败。

查阅资料发现,在osx上加载动态库的顺序是先搜索DYLD_LIBRARY_PATH下的库,然后是系统库,最后才是当前目录,默认情况下DYLD_LIBRARY_PATH为空。

了解原理后解决不难,gdb加载程序后,指定环境变量即可:

gdb> set env DYLD_LIBRARY_PATH ./

posted on 2022-03-15 11:57  DoubleLi  阅读(351)  评论(0编辑  收藏  举报