/usr/bin/ld: cannot find -lxxx 的解决办法

/usr/bin/ld: cannot find -lxxx 的解决办法

1. 如果没有安装,直接安装即可。

sudo apt-get install libxxx-dev

2. 将库文件所在路径添加到gcc的搜索路径

使用以下命令查询gcc能否搜寻到指定的库文件:

gcc -lhdf5 --verbose

查询库文件 libhdf5.so 是否能在搜索路径中找到。

若安装了软件,找到了库文件的路径。但是依然会提示上述错误。则表示gcc的搜索路径不包含该库文件所在的路径。将库文件所在的路径加入到搜寻路径中的方法为:

2.1 使用 /etc/ld.so.conf 配置文件

将库文件所在的路径加入到 /etc/ld.so.conf 尾部,并使之生效:

sudo echo '/opt/biosoft/hdf5-1.8.15-patch1/lib/' >> /etc/ld.so.conf
libhdf5.so 在路径 /opt/biosoft/hdf5-1.8.15-patch1/lib/ 下,将该路径加添加到配置文件中
sudo ldconfig
运行该命令,重新载入 /ext/ld.so.conf 中的路径,使修改生效。

2.2 修改环境变量

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/biosoft/hdf5-1.8.15-patch1/lib/
修改环境变量 LD_LIBRARY_PATH,加入库文件所在路径。使用 export 命令使修改生效。

echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/biosoft/hdf5-1.8.15-patch1/lib/' >> ~/.bashrc
source ~/.bashrc
将上述 export 命令加入到配置文件 ~/.bashrc,使之永久生效。

export LIBRARY_PATH=/opt/biosoft/hdf5-1.8.15-patch1/lib/:$LIBRARY_PATH
若修改变量 LD_LIBRARY_PATH 不奏效,则修改变量 LIBRARY_PATH 。

上一篇:【JSON 注解】JSON循环引用1-----Jackson常用注解介绍 eq:@JsonIgnore


下一篇:命令汇总