linux下的搜尋路徑設定

2021-09-16 19:57:31 字數 1471 閱讀 4473

除了預設的/usr/include, /usr/local/include等include路徑外,還可以通過設定環境變數來新增系統include的路徑(

也可以在編譯命令中通過 -i 來指定):

# c

export c_include_path=***x:$c_include_path

# cpp

export cplus_include_path=***:$cplus_include_path

一般 linux 系統把 /lib  /usr/lib  /lib64 /usr/lib64 作為預設的庫搜尋路徑,所以使用這幾個目錄中的鏈結庫檔案可直接被搜尋到(不需要專門指定鏈結庫路徑)。對於預設搜尋路徑之外的庫,則需要將其所在路徑新增到gcc/g++的搜尋路徑之中。

1)修改/etc/so.ld.conf

在/etc/ld.so.conf 中新增指定的鏈結庫搜尋路徑(需要root許可權),然後執行 ldconfig,以達到重新整理 /etc/ld.so.cache的效果

2)修改環境變數,在其中新增自己的路徑

export ld_library_path=***:$ld_library_path

export library_path=***:$library_path

當輸入命令時linux會去/bin,/usr/bin,/sbin等目錄尋找該命令,當我們希望自己定義乙個執行目錄時,可以通過修改path環境變數來實現。

export path=$path:/usr/local/bin

以上修改可以直接命令列輸入(一次性),可以在/etc/profile中完成(對所有使用者生效),也可以在使用者home目錄下的.bashrc或.bash_profile中新增(針對某個使用者生效),修改完後重新登入即生效

pkg-config 先搜尋環境變數pkg_config_path設定的,再搜尋預設路徑/usr/lib/pkgconfig /usr/share/pkconfig等。

pkg-config --cflags ***

pkg-config --libs  ***

export pkg_config_libdir=$pkg_config_libdir:/usr/local/lib/pkgconfig

以上修改可以直接命令列輸入(一次性),

1)在/etc/profile中完成(對所有使用者生效),修改完執行:

source /etc/profile

2)在使用者home目錄下的.bashrc或.bash_profile中新增

修改完後重起終端。

Linux下配置搜尋路徑

擷取部分於 庫檔案在連線 靜態庫和共享庫 和執行 僅限於使用共享庫的程式 時被使用,其搜尋路徑是在系統中進行設定的。一般 linux 系統把 lib 和 usr lib 兩個目錄作為預設的庫搜尋路徑,所以使用這兩個目錄中的庫時不需要進行設定搜尋路徑即可直接使用。對於處於預設庫搜尋路徑之外的庫,需要將...

linux下 gcc 預設搜尋路徑

有大量的環境變數可供設定以影響 gcc 編譯程式的方式。利用這些變數的控制也可使用合適的命令列選項。一些環境變數設定在目錄名列表中。這些名字和 path 環境變數使用的格式相同。特殊字元 path separator 安裝編譯程式的時候定義 用在目錄名之間。在 unix 系統中,分隔符是冒號,而 w...

Linux動態庫搜尋路徑 目錄 設定

今天編譯完程式執行的時候,報乙個錯誤,說庫檔案不存在,然後我看了一下,程式的當前路徑下就有這個庫檔案,我以前的認知是程式會首先在當前路徑下找庫,但是這個理解似乎對windows正確,linux是有區別的.在linux 中,動態庫的搜尋路徑除了預設的搜尋路徑外,還可通過三種方法來指定 方法一 在配置檔...