若是使用本身手動生成的動態連接庫.so文件,可是這個.so文件,沒有加入庫文件搜索路勁中,程序運行時可能會出現找不到動態連接庫的情形。html
能夠經過ldd命名來查看可執行文件依賴的動態連接庫,以下(其中D爲可執行程序):java
其中的libjson_linux-gcc-4.6_libmt.so cannot found。linux
解決這個問題:json
(1)在系統中查找這個文件(固然要保證系統中已經有這個.so文件,只是查找路徑沒有設置正確而已):vim
sudo find / -name libjson_linux-gcc-4.6_libmt.sopost
結果:/home/liu/Desktop/jsoncpp-src-0.5.0/libs/linux-gcc-4.6/libjson_linux-gcc-4.6_libmt.sospa
(2)將.so文件路徑的目錄添加到/etc/ld.so.conf
.net
sudo vim /etc/ld.so.conf
code
文件末尾新添加一行,/home/liu/Desktop/jsoncpp-src-0.5.0/libs/linux-gcc-4.6
htm
(3)使得修改生效
sudo /sbin/ldconfig
這樣就不會有那個找不對.so文件的錯誤啦。
參考:http://www.blogjava.net/zhyiwww/archive/2007/12/14/167827.html