在編譯 main.c 的時候,我們需要使用-i(大寫的字母i)選項指明標頭檔案的包含路徑,使用-l選項指明靜態庫的包含路徑,使用-l(小寫字母l)選項指明靜態庫的名字
gcc src/main.c -i include/ -l lib/ -l test -o main.o
注意,使用-l選項指明靜態庫的名字時,既不需要lib字首,也不需要.a字尾,只能寫 test,gcc 會自動加上字首和字尾。
./main.o 可以執行。
更詳細的可以看看這個**,非常好。
GCC靜態庫 動態庫
1 靜態庫 linux環境下的靜態庫的擴充套件名為 a step 1 編譯原始檔,生成可重定位目標檔案 gcc c static lib.c step 2 使用ar工具建立乙個靜態庫,或者將目標檔案加入到乙個已經存在的靜態庫中。格式 ar rcs 靜態庫名 目標檔案2 目標檔案2 目標檔案n ar ...
gcc 靜態庫和動態庫
include void print hello include include hello.h int main define hello 9999 void print hello 其中 hello.c 和 main.c 在同乙個目錄下,hello.h在上乙個目錄。先生成 o 檔案 gcc he...
gcc編譯靜態庫 動態庫
今天,乙個同事編譯靜態庫,我也趁此機會在溫習一下,先google一下,然後在自己實驗。首先,在網上抄個例子,內容如下 建靜態庫 hellos.h ifndef hello s h define hello s h void prints char str endif hellos.c include...