在Linux中,lib库的命名规则为:lib+库名+.so
而-lxxx,其中xxx表示lib库的名字。
出现"/usr/bin/ld: cannot find -lxxx" 错误信息一般又会由于编译不同的源码
错误的原因一般有以下几种:
解决办法(以/usr/bin/ld: cannot find -lXtst错误提示为例,测试环境为Ubuntu12.0.4):
1)先判断在/usr/lib 下的相对应的函式库文件(.so) 的symbolic link 是否正确
2)若发现是symbolic link连接不正确,解决如下例:
cd /usr/lib ln -s libXtst.so.6 libXtst.so
3)若不是symbolic link 的问题引起,而是系统缺少相对应的lib安装lib即可解决。解决如下例:
apt-get install libXtst-dev