linux下程序編譯通過后運行報錯:cannot open shared object file: No such file or directory


一般我們在Linux下執行某些外部程序的時候可能會提示找不到共享庫的錯誤, 比如: 

  error while loading shared libraries: libGCBase_gcc421_v3_0.so  cannot open shared object file: No such file or directory 

 

原因可能有兩個:

  1、 操作系統里確實沒有包含該共享庫(lib*.so.*文件)或者共享庫版本不對, 遇到這種情況那就去網上下載並安裝上即可. 

  2、已經安裝了該共享庫, 但執行需要調用該共享庫的程序的時候, 程序按照默認共享庫路徑找不到該共享庫文件. 


所以安裝共享庫后要注意共享庫路徑設置問題:

  1、若共享庫文件不在/lib或/usr/lib目錄下,則切換root權限, 把庫文件復制到/lib或/usr/lib目錄下。

  2、對於在/lib或/usr/lib目錄下的庫文件,一般需要執行一次ldconfig命令,完成庫文件的鏈接。

  ( 解釋:ldconfig命令的用途, 主要是在默認搜尋目錄(/lib和/usr/lib)以及動態庫配置文件/etc/ld.so.conf內所列的目錄下, 搜索出可共享的動態鏈接庫(格式如lib*.so*), 進而創建出動態裝入程序(ld.so)所需的連接和緩存文件. 緩存文件默認為/etc/ld.so.cache, 此文件保存已排好序的動態鏈接庫名字列表. )


免責聲明!

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



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