運行protobuf程序碰見一個小錯誤,記錄一下:
error while loading shared libraries: libprotobuf.so.8: cannot open shared object file: No such file
找不到對應的庫文件,一般是路徑問題。安裝路徑沒有加入到配置中所以報錯。
通過find查找,找到 libprotobuf.so.8 文件,如果沒有找到,那麼需要裝protobuf(參見文章最後)。
確認,是否創建了ld指向文件 /etc/ld.so.conf.d/libprotobuf.conf ,內容如下:(然後,需要執行:sudo ldconfig 命令)
/usr/local/lib
確認,是否配置了LD路徑(最好,寫到/etc/profile中,還需要執行source;或者直接執行export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH,臨時使用):
LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
附錄:安裝protobuf:
如果,機器上沒有編譯安裝protobuf,老老實實編譯安裝:
1、下載 protobuf-2.5.0.tar.gz
百度搜下protobuf-2.5.0.tar.gz,CSDN沒法上傳文件,或者聯繫我。
2、編譯
$tar -zxvf protobuf-2.5.0.tar.gz
$cd protobuf-2.5.0
$./configure
$sudo make
$sudo make check
$sudo make install
3、配置LD_LIBRARY_PATH
新建/etc/ld.so.conf.d/libprotobuf.conf (vim /etc/ld.so.conf.d/libprotobuf.conf ),內容如下:
/usr/local/lib
然後,需要執行命令
sudo ldconfig
添加路徑
# vim /etc/profile
LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
# source /etc/profile
完。