can not find -lXXX

通常在軟件編譯時出現的usr/bin/ld: cannot find -lxxx的錯誤,主要的原因是庫文件並沒有導入的ld檢索目錄中

    解決方式:

   1.  確認庫文件是否存在,比如-l123, 在/usr/lib,/usr/local/lib,或者其他自定義的lib下有無lib123.so, 如果只是存在lib123.so.1,那麼可以通過ln -svlib123.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.

    4.  測試,gcc -l123 --verbose.

文章出處:http://blog.csdn.net/osoon/archive/2010/04/25/5526455.aspx
發佈了30 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章