linux qt 編譯時與運行時缺乏共享庫


1.編譯時,在.pro文件添加

LIBS += -L /usr/local/lib -levent -levent_core -levent_extra -levent_pthreads
/usr/local/lib 為lib庫所在路徑
-levent -levent_core -levent_extra -levent_pthreads為需要鏈接的庫

2.運行時

缺少動態連接庫.so--cannot open shared object file: No such file or directory

總結下來主要有3種方法:

1. 用ln將需要的so文件鏈接到/usr/lib或者/lib這兩個默認的目錄下邊

ln -s /where/you/install/lib/*.so /usr/lib
sudo ldconfig

// 用來刷新共享庫緩存 ldconfig是一個動態鏈接庫管理命令,其目的為了讓動態鏈接庫為系統所共享,當用戶安裝了一個新的動態鏈接庫時,就需要手工運行這個命令.

// 詳細請見::Linux的ldconfig命令和ldd命令用法

2.修改LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/where/you/install/lib:$LD_LIBRARY_PATH
sudo ldconfig

3.修改/etc/ld.so.conf,然后刷新

vim /etc/ld.so.conf

add /where/you/install/lib

sudo ldconfig
 

 

建議三篇一起看

https://www.cnblogs.com/liushui-sky/p/13521898.html

https://www.cnblogs.com/liushui-sky/p/13521525.html 

 https://www.cnblogs.com/liushui-sky/p/13521639.html

 
參考自:https://www.jianshu.com/p/eea54c5a75bf


免責聲明!

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



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