Linux 编译 /usr/bin/ld: cannot find -lxxx总结

在linux环境编译应用程式或lib的source code时常常会出现如下的错误讯息:
/usr/bin/ld: cannot find -lxxx


lxxx会随着编译不同类型的source code而变化,比如编译IPP时,出现为/usr/bin/ld:cannot find -lippcore_t
这表示缺少ippcore_t.a这个库。


出现这样的原因有以下三种情况:
1. 系统没有安装需要的库文件
2. 库版本不对应
3. 库文件链接错误
4. 库文件路径设置错误


解决的方法:
1. 先判断磁盘中是否存在对应的库,没有纯在的话,安装对应的库即可。
2. 已经存在则判断是否程序库文件路径设置错误
如果是库文件路径引起的问题,可以到/etc/ld.so.conf.d目录下,修改其中任意一份conf文件,(可以自建conf,以方便识别)将lib所在的目录写进去,然后再终端输入ldconfig更新缓存.
3. 如果不是通过find或者locate指令定位到链接文件,查看链接文件是否指向了希望的lib,如果不是,用In -sf */libxxx.so.x */libxxx.so指令修改它。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值