Linux下gcc的庫檔案及動態庫搜尋路徑

2021-10-11 01:14:50 字數 1511 閱讀 4018

gcc在編譯時如何去尋找所需要的標頭檔案:

標頭檔案的搜尋會從-i指定的目錄開始;

然後搜尋gcc的環境變數 c_include_path,cplus_include_path,objc_include_path 設定的目錄;

再搜尋系統目錄/usr/include/usr/local/include(centos7中該目錄下是空的);

最後搜尋gcc的一系列自帶目錄(如/usr/include/c++/4.8.5)。

編譯的時候:

gcc會先搜尋-l指定的目錄;

再搜尋gcc的環境變數library_path;

再搜尋系統目錄:/lib和/lib64/usr/lib 和/usr/lib64/usr/local/lib和/usr/local/lib64,這是當初compile gcc時寫在程式內的。

動態庫的搜尋路徑搜尋的先後順序是:

編譯目標**時指定的動態庫搜尋路徑;

環境變數ld_library_path指定的動態庫搜尋路徑;

配置檔案/etc/ld.so.conf中指定的動態庫搜尋路徑;

預設的動態庫搜尋路徑/lib

預設的動態庫搜尋路徑/usr/lib

gcc在編譯時如何去尋找所需要的標頭檔案:

標頭檔案的搜尋會從-i指定的目錄開始;

然後搜尋gcc的環境變數 c_include_path,cplus_include_path,objc_include_path 設定的目錄;

再搜尋系統目錄/usr/include/usr/local/include(centos7中該目錄下是空的);

最後搜尋gcc的一系列自帶目錄(如/usr/include/c++/4.8.5)。

編譯的時候:

gcc會先搜尋-l指定的目錄;

再搜尋gcc的環境變數library_path;

再搜尋系統目錄:/lib和/lib64/usr/lib 和/usr/lib64/usr/local/lib和/usr/local/lib64,這是當初compile gcc時寫在程式內的。

動態庫的搜尋路徑搜尋的先後順序是:

編譯目標**時指定的動態庫搜尋路徑;

環境變數ld_library_path指定的動態庫搜尋路徑;

配置檔案/etc/ld.so.conf中指定的動態庫搜尋路徑;

預設的動態庫搜尋路徑/lib

預設的動態庫搜尋路徑/usr/lib

linux下gcc預設搜尋標頭檔案及庫檔案的路徑

一 標頭檔案 gcc 在編譯時如何去尋找所需要的標頭檔案 所以header file的搜尋會從 i開始 然後找gcc的環境變數c include path,cplus include path,objc include path 再找內定目錄 usr include usr local includ...

linux下gcc預設搜尋標頭檔案及庫檔案的路徑

一 標頭檔案 gcc 在編譯時如何去尋找所需要的標頭檔案 所以header file的搜尋會從 i開始 然後找gcc的環境變數 c include path,cplus include path,objc include path 再找內定目錄 usr include usr local inclu...

Linux下靜態庫 動態庫製作及gcc命令詳解

乙個c語言程式從編寫完成到執行需要經歷預處理 生成.i 編譯 生成.s 彙編 生成.o 鏈結 生成可執行檔案 幾個步驟,如下圖所示。這裡推薦一篇講解的比較全面的部落格 gcc常用引數詳解。我們最常用的gcc編譯選項主要有以下幾個 以下是幾篇講的比較好的部落格 靜態鏈結就是在執行之前講已經編譯好的靜態...