/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 。