/usr/bin/ld: cannot find -lxxx問題總結

來源:互聯網
上載者:User

/usr/bin/ld: cannot find -lxxx問題總結 linux下編譯應用程式常常會出現如下錯誤:    /usr/bin/ld: cannot find -lxxx         意思是編譯過程找不到對應庫檔案。其中,-lxxx表示連結庫檔案 libxxx.so。         註:有時候,由於庫檔案是編譯過程臨時產生的,如果前面出錯也會導致出現這種情況,下面針對的是由於本機系統內容缺失而引起的。。         一般出現這種錯誤有以下幾種原因:1.系統缺乏對應的庫檔案;2.版本不對應;3.庫檔案的連結錯誤;4.庫檔案路徑設定問題。         對應第一第二種情況,可以通過下載安裝lib來解決,ubuntu大多數可以直接通過apt-get來安裝: apt-get install libxxx-dev         一般遇到這種問題筆者第一時間也是會去檢查系統是否已安裝該lib或者是否已選擇正確版本(只是習慣問題),如果還是不能解決問題,那麼,引起錯誤的原因不是連結錯誤就是庫檔案路徑問題了。         通過find或者locate指令定位到連結檔案,查看連結檔案是否正確的指向了我們希望的lib,如果不是,用 ln -sf */libxxx.so.x */libxxx.so 指令修改它。         如果是庫檔案路徑引發的問題,可以到/etc/ld.so.conf.d目錄下,修改其中任意一份conf檔案,(可以自建conf,以方便識別)將lib所在目錄寫進去,然後在終端輸入 ldconfig 更新緩衝。      

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.