歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu教程:鏈接不到庫提示庫文件不存在的解決辦法

Ubuntu教程:鏈接不到庫提示庫文件不存在的解決辦法

日期:2017/2/28 15:55:24   编辑:Linux教程

/home/bear/QtProgram/opencv001-build-desktop/opencv001: error while loading shared libraries: libopencv_highgui.so.2.3: cannot open shared object file: No such file or directory

error while loading shared libraries: libXXX.so.1.2.3: cannot open shared object file

此時你可以locate libXXX.so.1.2.3 (如果你的文件系統比以前有了變化,如安裝了可能是需要的庫的開發包,則需要 locate -u 一下)

然 後如果發現了libXXX.so.1.2.3的確存在,就把libXXX.so.1.2.3所在的目錄加入到 /etc/ld.so.conf 中,或者在 /etc/ld.so.conf.d/ 下新建一文件,如 XXX.conf ,其內容是libXXX.so.1.2.3所在的目錄。
如果發現libXXX.so.1.2.3不存在,你可能沒安裝包含庫的程序。一般google一下“XXX linux”就能找到相應的軟件。

如果提示是error while loading shared libraries: libXXX.so,但你的系統上有libXXX.so.5,你可以為libXXX.so.5
做一個軟鏈接 ln -s libXXX.so.5 libXXX.so

如,我執行一個ACE開發包中的樣例程序時,出現以下提示:
./logging_app: error while loading shared libraries: libACE.so.5.4.7: cannot open shared object file: No such file or directory

[[email protected] ld.so.conf.d]# locate libACE.so.5.4.7
/opt/ace/ace/libACE.so.5.4.7
/opt/ace/lib/libACE.so.5.4.7
[[email protected] ld.so.conf.d]# vi ace.conf

ace.conf中只有一行: /opt/ace/lib

然後再執行 ldconfig

OK,現在執行logging_app就沒有錯誤了。

Copyright © Linux教程網 All Rights Reserved