Linux程序運行找不到動態(tài)庫.so文件的解決
Linux程序運行找不到動態(tài)庫.so文件的三種解決
方法一:添加環(huán)境變量
子招數(shù)1.
添加當前用戶當前終端的環(huán)境變量-臨時
export LD_LIBRARY_PATH=/home/czd/... #.so file path
子招數(shù)2.
添加當前用戶的環(huán)境變量
修改~/.bashrc文件,在其末尾,添加環(huán)境變量
vim ~/.bashrc export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/czd/... #.so file path
使其生效,
source ~/.bashrc
如不能生效,請重啟
子招數(shù)3.
添加所有用戶的環(huán)境變量
修改profile文件,在其末尾添加環(huán)境變量
vim /etc/profile export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/czd/... #.so file path
使其生效
source /etc/profile
如不能生效,請重啟
方法二:復制so文件到lib路徑
linux系統(tǒng)的so庫一般存儲與“/usr/lib/”路徑中,可將動態(tài)庫復制到該路徑中。
sudo cp liblibtest.so /usr/lib/
即時生效
方法三:(推薦)添加ldconfig尋找路徑
步驟1.
編輯鏈接配置文件
vim /etc/ld.so.conf
步驟2.
確認內(nèi)容是否為如下,不是則修改為如下:保存并退出
include /etc/ld.so.conf.d/*.conf
步驟3.
進入目錄內(nèi),創(chuàng)建*.conf文件,文件名隨意,擴展名必須為.conf
cd /etc/ld.so.conf.d/ vim libmy.conf
步驟4.
在文件內(nèi)部,添加so的路徑,保存并退出
/home/czd/eclipse-workspacee/calllib/Debug
步驟5.
執(zhí)行命令時期生效
sudo ldconfig
程序在運行時尋找so庫就會到添加的目錄中尋找。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Linux用戶態(tài)與內(nèi)核態(tài)通信的幾種方式
這篇文章主要介紹了詳解Linux用戶態(tài)與內(nèi)核態(tài)通信的幾種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-06-06Ubuntu無網(wǎng)絡(luò)連接及標識的解決方法
本文已解決 Ubuntu無網(wǎng)絡(luò)連接/無網(wǎng)絡(luò)標識解決方法的相關(guān)問題,并總結(jié)提出了幾種可用解決方案,如果有遇到相同問題的朋友可以參考閱讀下本文,對解決問題有一定的幫助2024-09-09在Linux中列出Systemd下所有正在運行的服務(wù)的方法指南
Systemd是Linux的系統(tǒng)和服務(wù)管理器; init進程的替代品,與SysV 和LSB init腳本兼容,systemctl命令是管理systemd的主要工具,在這篇文章中,我們將演示如何 Linux中列出systemd下所有正在運行的服務(wù),感興趣的同學可以借鑒閱讀2023-06-06Linux命令行處理圖片方式(圖片格式轉(zhuǎn)換、縮放、旋轉(zhuǎn)等)
這篇文章主要介紹了Linux命令行處理圖片方式(圖片格式轉(zhuǎn)換、縮放、旋轉(zhuǎn)等),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06