linux关于动态库链接小记

调试ffmpeg+sdl的时候,新安装了sdl2库,运行我的执行程序时报找不到sdl2.so的引用。我查看了sdl2.so明明装在了/etc/local/lib下,并且之前也在/etc/ld.so.conf下加入了/usr/local/bin的位置。谷歌了一番,解决了问题,并学到几个东西:

1、linux下使用ldd命令可以查看你的执行程序依赖的共享库,以及该共享库在你的linux文件系统中的位置。比如我用ldd我的程序时会发现,依赖sdl2.so,但是该so在文件系统中找不到。

2、为了减少共享库系统的库搜索时间,共享库系统维护了一个共享库 so 名称的缓存文件/etc/ld.so.cache。因此,在安装新的共享库之后,一定要运行 ldconfig 刷新该缓存。我的程序问题就出现在这, 我新安装了SDL2后,但是没有执行ldconfig命令刷新该缓存,所以找不到共享库。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值