1. 程式人生 > >編譯時遇到 /usr/bin/ld: cannot find -lxxx 錯誤的解決方法

編譯時遇到 /usr/bin/ld: cannot find -lxxx 錯誤的解決方法

本文介紹下,在編譯軟體時,提示usr/bin/ld: cannot find錯誤的解決方法,有需要的朋友參考下。

原因:庫檔案並沒有匯入的ld檢索目錄中。

解決方法:
   1、確認庫檔案是否存在,比如-l123, 在/usr/lib, /usr/local/lib,或其它自定義的lib下有無lib123.so, 如果只是存在lib123.so.1,
那麼可以通過ln -sv lib123.so.1   lib123.so,建立一個連線重建lib123.so.(此時可以試下如果編譯通過則不需要繼續一下步驟)

2、檢查/etc/ld.so.conf中的庫檔案路徑是否正確,如果庫檔案不是使用系統路徑,/usr/lib, /usr/local/lib, 那麼必須在檔案中加入。

3、ldconfig 重建ld.so.cache檔案,ld的庫檔案檢索目錄存放檔案。
尤其剛剛編譯的軟體,必須執行ldconfig,才能將新安裝的庫檔案匯入ld.so.cache.