解決Linux動態(tài)庫依賴問題的三種實用方法分別是什么,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計、網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出阿爾山免費做網(wǎng)站回饋大家。
概述
平時在編譯安裝某個軟件時,如果自定義了一些安裝目錄,安裝后有可能會提示找不到動態(tài)庫。下面介紹下思路和三個解決方法。
思路
一般來說,通過make命令已經(jīng)將程序依賴的動態(tài)庫編譯出來了,通過make install命令已經(jīng)將動態(tài)庫安裝到系統(tǒng)的某個路徑下。找沒找到動態(tài)庫就看這個路徑是否包含在系統(tǒng)默認(rèn)搜索動態(tài)庫的路徑中,如果不在,那么就會提示找不到動態(tài)庫。以下三種方法,就是根據(jù)前面的分析來解決的。
方法一:修改LD_LIBRARY_PATH環(huán)境變量
特點:這種方法主要處理臨時的動態(tài)庫加載,LD_LIBRARY_PATH環(huán)境變量修改后,只能是對當(dāng)前的用戶生效。
LD_LIBRARY_PATH的作用:這個環(huán)境變量用于在程序加載運行期間查找動態(tài)鏈接庫時指定除了系統(tǒng)默認(rèn)路徑之外的其他路徑,注意,LD_LIBRARY_PATH中指定的路徑會在系統(tǒng)默認(rèn)路徑之前進(jìn)行查找。
具體步驟:
1、找到動態(tài)庫所在路徑:sudo find / -name "[動態(tài)庫名字]"
2、打開~/.bash_profile文件
3、在該文件***一趟添加:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:[動態(tài)庫所在的絕對路徑]
4、source ~/.bash_profile
方法二:修改/etc/ld.so.conf配置文件
特點:對所有用戶生效。不是每個操作系統(tǒng)都有這個配置文件,就Ubuntu系統(tǒng)有。
/etc/ld.so.conf的作用:記錄了程序加載運行期間查找動態(tài)鏈接庫時的路徑。
具體步驟:
1、找到動態(tài)庫所在路徑:sudo find / -name "[動態(tài)庫名字]"
2、打開/etc/ld.so.conf文件:sudo vi /etc/ld.so.conf
3、在***一行添加動態(tài)庫的絕對路徑
4、重新加載/etc/ld.so.conf文件:sudo ldconfig -v
方法三:創(chuàng)建動態(tài)庫的軟連接(推薦)
特點:讓所有用戶生效;并且通用,只要是Linux類型的操作系統(tǒng),都會去/usr/lib目錄下去找動態(tài)庫。
具體步驟:
1、找到動態(tài)庫所在路徑:sudo find / -name "[動態(tài)庫名字]"
2、創(chuàng)建動態(tài)庫軟連接:ln -s [動態(tài)庫] [待創(chuàng)建的軟鏈接]
注意:
1、創(chuàng)建軟連接的時候要用絕對路徑,如果用相對路徑,會導(dǎo)致只在當(dāng)前路徑有效,其他路徑這個軟連接就找不到了。
2、不建議用cp的方式代替ln -s的方式。原因:當(dāng)動態(tài)庫升級的時候,有可能導(dǎo)致動態(tài)庫版本不一致,還是鏈接的舊版本。
上面主要講三個創(chuàng)建動態(tài)庫的方法,其中l(wèi)n -s方式是比較常用的。
關(guān)于解決Linux動態(tài)庫依賴問題的三種實用方法分別是什么問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。