1. 程式人生 > >cannot open shared object file: No such file or directory如何解決

cannot open shared object file: No such file or directory如何解決

今天安裝了ffmpeg開源視訊解碼庫,功能很強大,安裝好後,使用了

ffmpeg -i xxx.mp4 -f null /dev/null 2>&1

命令進行解碼,解碼成功,可是存在部分錯誤,如下

frame=90907 fps=110 q=0.0 Lsize=      -0kB time=01:00:36.28 bitrate=  -0.0kbits/s dup=346 drop=6

前戲結束了,下面才是重點

考慮到之前做資料集時用的ffmpeg版本不一樣,我就重新安裝了低版本的ffmpeg,這次安裝過程中,configure我選了 --enable-shared ,安好之後執行上述命令,卻報瞭如題的錯誤

cannot open shared object file: No such file or directory

現在給出解決的辦法,方便以後檢視

有兩種辦法:

1. 用ln將需要的so檔案連結到/usr/lib或者/lib這兩個預設的目錄下邊

ln -s /usr/local/lib/*.so /usr/lib
sudo ldconfig

該方法我查找了一下,在我的 /usr/local/lib裡面有連結,並沒有安裝到/usr/lib裡,因此我並不想用這種方法,於是轉到第二種。

2.修改LD_LIBRARY_PATH

執行下面兩條命令即可:

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
sudo ldconfig

還有第三種方法

3.修改/etc/ld.so.conf,然後重新整理

vim /etc/ld.so.conf

add /where/you/install/lib
sudo ldconfig