91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決linux找不到動態庫的問題?

發布時間:2020-05-25 14:36:24 來源:億速云 閱讀:217 作者:鴿子 欄目:建站服務器

動態庫即共享庫,說到linux找不到動態庫的問題,首先要了解動態庫的特點:

● 動態庫把對一些庫函數的鏈接載入推遲到程序運行的時期。

● 可以實現進程之間的資源共享。(因此動態庫也稱為共享庫)

● 將一些程序升級變得簡單。

● 甚至可以真正做到鏈接載入完全由程序員在程序代碼中控制(顯示調用)。

由上述中的第1點可知,動態庫并不是像靜態庫那樣將庫文件以二進制形式打包到程序中,而是在程序運行到需要調用對應庫函數這個時機的時候動態加載動態庫,這時候系統只知道動態庫的名字,而不知道絕對路徑,此時就需要系統動態載入器(dynamic linker/loader);對于elf的可執行程序,是由ld-linux.so來完成的,它先后搜索elf文件的DT_RPATH段(不可控) =》 環境變量LD_LIBRARY_PATH =》 /etc/ld.so.cache文件列表 =》 /lib/和/usr/lib 目錄找到庫文件后載入內存。

那么我們需要做的就是將動態庫所在目錄的絕對路徑加到動態載入器搜索序的任一次序中,下面說具體實現方法:

方法1:拷貝自己制作的共享庫到/lib或/usr/lib,不推薦

方法2:將動態庫所在目錄的絕對路徑添加到系統環境變量中

2.1、將動態庫所在目錄的絕對路徑臨時添加到環境變量中(隨終端關閉失效)

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/chiliast/homework/day03/shared/lib

2.2、將動態庫所在目錄的絕對路徑設置到~/.bashrc或/etc/profile中(永久生效)

用戶級別:追加庫路徑到~/.bashrc文件尾

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/chiliast/homework/day03/shared/lib

source ~/.bashrc 或 . ~/.bashrc使配置生效

系統級別:追加庫路徑到/etc/profile文件尾

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/chiliast/homework/day03/shared/lib

source /etc/profile 或 ./etc/profile使配置生效

方法3:將動態庫所在目錄的絕對路徑添加到 /etc/ld.so.cache文件中(2步實現)

編輯/etc/ld.so.conf文件,加入庫文件所在目錄的路徑

運行ldconfig (需要super user權限),該命令會重建/etc/ld.so.cache文件

以上就是linux動態庫找不到怎么辦的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

广河县| 上饶市| 宝清县| 墨竹工卡县| 民勤县| 灵川县| 齐河县| 枣强县| 瑞丽市| 芦溪县| 伊宁县| 万年县| 海原县| 绍兴县| 綦江县| 澜沧| 巴林左旗| 黔江区| 乌什县| 库车县| 板桥市| 三江| 英吉沙县| 平湖市| 无锡市| 东阳市| 本溪| 南澳县| 梁山县| 苍山县| 巴林左旗| 耿马| 饶平县| 大丰市| 岫岩| 桦川县| 噶尔县| 绥棱县| 通城县| 正蓝旗| 彭泽县|