工作流程
命名格式
lib+庫的名字+.so製作
第一步:得到*.o檔案
第二步:建立動態庫# 引數-fpic表示生成與位置無關**
gcc -i./include -fpic *.c -c
使用# -shared 製作動態庫
# -o 重新命名生成的新檔案
gcc -shared -o lib***.so *.o
命名格式
lib+庫的名字+.a製作
第一步:得到*.o檔案
gcc -i./include *.c -c
第二步:建立靜態庫
使用# 將所有 .o 檔案打包為靜態庫
# r 將檔案插入靜態庫中
# c 建立靜態庫,不管庫是否存在
# s 寫入乙個目標檔案索引到庫中,或者更新乙個存在的目標檔案索引。
ar rcs lib***.a *.o
# 檢視庫中包含的函式等資訊
nm lib***.a
gcc編譯靜態庫 動態庫
今天,乙個同事編譯靜態庫,我也趁此機會在溫習一下,先google一下,然後在自己實驗。首先,在網上抄個例子,內容如下 建靜態庫 hellos.h ifndef hello s h define hello s h void prints char str endif hellos.c include...
gcc編譯使用靜態庫 動態庫
假設已經有可用的liboutprint.a和liboutprint.so.1.0.0可用,則 gcc o hello static l.loutprint hello.cpp gcc o hello l.loutprint hello.cpp export ld library path pwd n...
gcc編譯靜態庫和動態庫
一 動態鏈結庫 1.建立hello.so動態庫 cpp view plain copy print?include voidhello 編譯 gcc fpic shared hello.c o libhello.so include void hello 編譯 gcc fpic shared hel...