Linux下找不到so文件的解決辦法


http://www.cnblogs.com/xudong-bupt/p/3698294.html

如果使用自己手動生成的動態鏈接庫.so文件,但是這個.so文件,沒有加入庫文件搜索路勁中,程序運行時可能會出現找不到動態鏈接庫的情形。

可以通過ldd命名來查看可執行文件依賴的動態鏈接庫,如下(其中D為可執行程序):

 其中的libjson_linux-gcc-4.6_libmt.so cannot found。

解決這個問題:

 (1)在系統中查找這個文件(當然要保證系統中已經有這個.so文件,只是查找路徑沒有設置正確而已):

  sudo find / -name libjson_linux-gcc-4.6_libmt.so

  結果:/home/liu/Desktop/jsoncpp-src-0.5.0/libs/linux-gcc-4.6/libjson_linux-gcc-4.6_libmt.so

(2)將.so文件路徑的目錄添加到/etc/ld.so.conf

   sudo vim /etc/ld.so.conf

  文件末尾新添加一行,/home/liu/Desktop/jsoncpp-src-0.5.0/libs/linux-gcc-4.6

(3)使得修改生效

  sudo /sbin/ldconfig

 

這樣就不會有那個找不對.so文件的錯誤啦。

參考:http://www.blogjava.net/zhyiwww/archive/2007/12/14/167827.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM