1. 程式人生 > >解決usr/bin/ld: cannot find -lxxx的錯誤

解決usr/bin/ld: cannot find -lxxx的錯誤

轉載自
參考

通常在軟體編譯時出現的usr/bin/ld: cannot find -lxxx的錯誤或者…so undefine xxxx,主要的原因是庫檔案並沒有匯入的ld檢索目錄中。
 解決方式:
1. 確認庫檔案是否存在,比如-l123, 在/usr/lib, /usr/local/lib,或者其他自定義的lib下有無lib123.so, 如果只是存在lib123.so.1,那麼可以通過sudo ln -sv lib123.so.1 lib123.so建立一個連線重建lib123.so(快捷方式).
2. 檢查sudo gedit /etc/ld.so.conf中的庫檔案路徑是否正確,如果庫檔案不是使用系統路徑,/usr/lib, /usr/local/lib, 那麼必須在檔案中加入.
3. sudo ldconfig 重建ld.so.cache檔案,ld的庫檔案檢索目錄存放檔案。尤其剛剛編譯安裝的軟體,必須執行ldconfig,才能將新安裝的庫檔案匯入ld.so.cache.
4. 測試,sudo gcc -l123 --verbose.