快速解决 /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

 

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片