linux設定LD LIBRARY PATH變數

2021-09-08 10:12:25 字數 1415 閱讀 2358

在 linux 下,如果你寫好了自己的動態鏈結庫,需要在其它程式裡呼叫,則需要讓這些程式能找到這些動態鏈結庫。如果設定不對,會出現類似如下的錯誤:

test: error while loading shared libraries: libexampleso.so.0: cannot open shared object file: no such file or directory

這是因為沒有把動態鏈結庫的安裝路徑(例如說是 /usr/local/lib )放到變數 ld_library_path 裡。

這時,可以用命令 export 來臨時測試確認是不是這個問題:

export ld_library_path=/usr/local/lib

在終端裡執行上面這行命令,再執行這個可執行檔案,如果執行正常就說明是這個問題。

接下來的問題是:以上做法,只是臨時設定變數 ld_library_path ,下次開機,一切設定將不復存在;如何把這個值持續寫到 ld_library_path 裡呢?

我們可以在 ~/.bashrc 或者 ~/.bash_profile 中加入 export 語句,前者在每次登陸和每次開啟 shell 都讀取一次,後者只在登陸時讀取一次。我的習慣是加到 ~/.bashrc 中,在該檔案的未尾,可採用如下語句來使設定生效:

export ld_library_path=$ld_library_path:/usr/local/lib

修改完後,記得關掉當前終端並重新開啟乙個新的終端,從而使上面的配置生效。

ld_library_path: 動態庫的查詢路徑

設定:方法一: export  ld_library_path=ld_library_path:/*** 但是登出後就失效

方法二:  修改~/.bashrc或~/.bash_profile或系統級別的/etc/profile

1. 在其中新增例如export path=/opt/activep/lib:$ld_library_path

2. source .bashrc  (source命令也稱為「點命令」,也就是乙個點符號(.)。source命令通常用於重新執行剛修改的初始化檔案,使之立即生效,而不必登出並重新登入)

方法三:這個沒有修改ld_library_path但是效果是一樣的實現動態庫的查詢, 

1. /etc/ld.so.conf下面加一行/usr/local/mysql/lib

2. 儲存過後ldconfig一下(ldconfig 命令的用途,主要是在預設搜尋目錄(/lib和/usr/lib)以及動態庫配置檔案/etc/ld.so.conf內所列的目錄下,搜尋出可共享的動態 鏈結庫(格式如前介紹,lib*.so*),進而建立出動態裝入程式(ld.so)所需的連線和快取檔案.快取檔案預設為/etc /ld.so.cache,此檔案儲存已排好序的動態鏈結庫名字列表.)

--setopt=protected_multilib=false

linux 時間設定

date 顯示當前日期 date s 設定當前時間,只有root許可權才能設定,其他只能檢視。date s 20061010 設定成20061010,這樣會把具體時間設定成空00 00 00 date s 12 23 23 設定具體時間,不會對日期做更改 date s 12 12 23 2006 1...

Linux 別名設定

alias 功能說明 設定命令的別名。語法 alias p 別名 命令 包名稱 bash 相關命令 unalias 補充說明 使用者可以利用alias自定義命令的別名。若僅輸入alias,則可列出當前所有的別名設定。alias僅作用於該次登入的作業。若要每次登入時都自動設好別名,請在.profile...

linux設定時間

1.1.1 設 置系統日期和 date 起源網bnxb.com mm 代 表月份 dd 代 表日期 hh 代 表 24 小時制的小時 mi 代 表分鐘 bnxb.yyyy 代 表年 ss 代 表秒 例如,將 系統日期為 2008 年 01 月 31 日,下午 10 19 53 date 013122...