最近在装gtest库的时候踩了很大的坑,于是总结一下这类问题的总体解决方案,提供思路
示例问题:/usr/bin/ld: cannot find -lgtest
1. 首先判断是否安装了这个库。对于不同的库有不同的检查方法,通用的检查方法是查找libxxx.*,可以看看有没有libxxx.so(动态库),libxxx.a(静态库)。
ld检查方式:ldconfig -p | grep libtinfo (<--改成自己的库名)
应当检查各种/lib文件夹,如/usr/lib,/usr/loacl/lib,使用conda的话检查path_to_your_conda/envs/env_name/lib
2. 如果找到了这个库,说明库已经安装,但是库文件不在ld的路径里。检查ld的路径:
#检查ld寻找动态链接库.so的路径
echo ${LD_LIBRARY_PATH}
#检查ld寻找静态链接库.a的路径
echo ${LIBRARY_PATH}
#这里说的不一定对,是根据过往经验进行的总结
#如果找不到,添加库所在的文件夹到路径中:(接在原路径之后)
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/path-to-your-lib
export LIBRARY_PATH=${LIBRARY_PATH}:/path-to-your-lib
然后重新执行操作,报错解决(hopefully)
3. 如果找不到这个库,那就安装库,安装后再运行试试