默認狀況下,GCC/G++連接時優先連接動態庫,若是沒有動態庫,則連接相應的靜態庫。同時,GCC/G++也提供了連接選項 -Wl,-Bstatic 和 -Wl,-Bdynamic 供用戶指定連接動態庫或者靜態庫。test
-Wl,-Bstatic指示跟在後面的-lxxx選項連接的都是靜態庫,-Wl,-Bdynamic指示跟在後面的-lxxx選項連接的都是動態庫。static
以下,系統
g++ -L. -o main main.cc -Wl,-Bstatic -ltest -Wl,-Bdynamic
前面的 -Wl,-Bstatic指示連接libtest.a靜態庫,後面的 -Wl,-Bdynamic指示連接系統動態庫。