最近调试的时候遇到一个问题,系统中安装的curl版本和调试程序依赖的curl版本不一致,编译时在Makefile里用gcc -L指定了libcurl的路径能够顺利编译,但是gdb启动程序时报错,依赖的curl动态库版本与加载的不一致,加载失败。
查阅资料发现,在osx上加载动态库的顺序是先搜索DYLD_LIBRARY_PATH下的库,然后是系统库,最后才是当前目录,默认情况下DYLD_LIBRARY_PATH为空。
了解原理后解决不难,gdb加载程序后,指定环境变量即可:
gdb> set env DYLD_LIBRARY_PATH ./
分类:
gcc/g++/gdb
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2021-03-15 音视频同步原理及实现
2017-03-15 Thrift在Windows及Linux平台下的安装和使用示例
2017-03-15 VLC播放RTSP视频延迟问题
2017-03-15 H264码流结构分析和rtp打包结构详解
2017-03-15 H264中的SPS、PPS提取与作用
2017-03-15 H.264视频编解码SoC满足高清DVR设计需求
2017-03-15 rtmp,rtsp,hLS区别