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指令修改它。

你可能感兴趣的:(Linux 编译 /usr/bin/ld: cannot find -lxxx总结)