在linux环境编译应用程序或lib的source code时常会遇到如下错误信息:
/usr/bin/ld: cannot find -lxxx xxx表示库文件名称,如:libc.so、libltdl.so 其命名规则是:lib+库名(即xxx)+.so
原因有两种:
1、没有安装对应的lib
解决办法:首先locate 库名 查找该计算机中是否有该库,如果有拷贝到/usr/bin/ 下面
如果计算机中没有,则利用apt-get install libxxx-dev 进行安装
2、lib的symbolic link不正确,没有链接到正确的库文件(.so)
解决办法:cd /usr/lib
ln -s libxxx.so.1 libxxx.so