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編譯選項主要有以下幾個 以下是幾篇講的比較好的部落格 靜態鏈結就是在執行之前講已經編譯好的靜態...