编译的时候出现 usr/bin/ld: cannot find -lxxx 的错误

时间:2024-10-31 10:36:14

比如错误为: usr/bin/ld: cannot find -labc

首先要明白的是 labc 代表的是 libabc.so

明白了这个之后,我们就知道了问题是:在编译的过程中,需要 libabc.so 库

而系统又找不到这个库

解决方法是,手动找到这个库。

你可能会发现,系统中可能已经有 libabc.so 但是不在默认查找路径(/usr/lib之类的路径),而是在你自己随便放的一个路径里。

或者是你没找到这个库,但是找到类似 libabc.so.1.0 这种带版本号的库。

如果是上述两种情况,那就好办了,因为本质上你的系统是存在这个库的,只是路径不对,或者是名字不对。

所以使用软链接的方法 给链接到正确位置:

sudo ln -s /这个库的路径/libabc.so.1.0 /usr/lib/libabc.so

  

然后再编译即可(可以直接接着上次出错的地方,再make)