<p>这篇文章主要介绍了Linux系统中提示/usr/bin/ld:cannotfind-lxxx错误的通用解决方法,本文以Ubuntu为例给出了一个解决例子,其它linux系统也适用,需要的朋友可以参考下:问题:</p><p>在linux环境编译应用程式或lib的sourcecode时常常会出现如下的错误讯息:复制代码代码如下:</p><p>/usr/bin/ld:cannotfind-lxxx这些讯息会随着编译不同类型的sourcecode而有不同的结果出来如:复制代码代码如下:/usr/bin/ld:cannotfind-lc</p><p>/usr/bin/ld:cannotfind-lltdl</p><p>/usr/bin/ld:cannotfind-lXtst</p><p>其中xxx即表示函式库文件名称,如上例的:libc.so、libltdl.so、libXtst.so。其命名规则是:lib+库名(即xxx)+.so。问题分析:1系统没有安装相对应的lib</p><p>2相对应的lib版本不对</p><p>3lib(.so档)的symboliclink不正确,没有连结到正确的函式库文件(.so)解决方法:</p><p>(1)先判断在/usr/lib下的相对应的函式库文件(.so)的symboliclink是否正确若不正确改成正确的连结目标即可解决问题。(2)若不是symboliclink的问题引起,而是系统缺少相对应的lib安装lib即可解决。(3)如何安装缺少的lib:</p><p>以上面三个错误讯息为例:复制代码代码如下:</p><p>错误1缺少libc的LIB</p><p>错误2缺少libltdl的LIB</p><p>错误3缺少libXtst的LIB以Ubuntu为例:先搜寻相对应的LIB再进行安装的作业如:复制代码代码如下:apt-cachesearchlibc-dev</p><p>apt-cachesearchlibltdl-dev</p><p>apt-cachesearchlibXtst-dev</p><p>实例:</p><p>在进行输入法gcin的SourceCode的编译时出现以下的错误讯息:复制代码代码如下:/usr/bin/ld:cannotfind-lXtst经检查后发现是:</p><p>lib(.so档)的symboliclink不正确解决方法:复制代码代码如下:</p><p>cd/usr/lib</p><p>ln-slibXtst.so.6libXtst.so</p><p>如果在/usr/lib的目录下找不到libXtst.so档,那么就表示系统没有安装libXtst的函式库。解决方法:复制代码代码如下:</p><p>apt-getinstalllibxtst-dev文章由起航劳务派遣系统编撰</p>