快速解决 /usr/bin/ld: cannot find -lxxx 问题

常见错误形式:

/usr/bin/ld: cannot find -lc
/usr/bin/ld: cannot find -lltdl
/usr/bin/ld: cannot find -lXtst

其中xxx即表示函式库文件名称,如上例的:libc.so、libltdl.so、libXtst.so。
其命名规则是:lib+库名(即xxx)+.so。

会发生这样的原因有以下三种情形:

  1.  系统没有安装相对应的lib。
  2. 相对应的lib版本不对。
  3. lib(.so档)的symbolic link 不正确,没有连结到正确的函式库文件(.so)。

我这里就以解决找不到libXtst.so文件为例。

~$ sudo apt-get install apt-file
~$ sudo apt-file update

安装好apt-file工具之后。

sudo apt-file search libXtst.so

运行上面的命令找出依赖包,通常是-dev结尾。我这里找到的就是libxtst-dev。

所以直接运行。

~$ sudo apt-get install libxtst-dev

 

您可能还喜欢...

想说点什么吗?

您将是第一位评论人!

提醒
avatar