gcc / -Wl
默認(rèn)情況下,GCC / G++ 鏈接時(shí)優(yōu)先鏈接動(dòng)態(tài)庫(kù),如果沒(méi)有動(dòng)態(tài)庫(kù),則鏈接相應(yīng)的靜態(tài)庫(kù)。同時(shí),GCC / G++ 也提供了鏈接選項(xiàng) -Wl,-Bstatic 和 -Wl,-Bdynamic 供用戶指定鏈接動(dòng)態(tài)庫(kù)或者靜態(tài)庫(kù)。
- -Wl,-Bstatic 指示跟在后面的 -lxxx 選項(xiàng)鏈接的都是靜態(tài)庫(kù)。
- -Wl,-Bdynamic 指示跟在后面的 -lxxx 選項(xiàng)鏈接的都是動(dòng)態(tài)庫(kù)。
栗子:
-Wl,-Bstatic -llog4cplus -lpcap -lpgm -lxerces-c -Wl,-Bdynamic -lnl-3 -ldbus-1 -libverbs -lcurl -lhiredis -Wl,--as-needed
-Wl,-Bstatic 后面的庫(kù)是靜態(tài)鏈接的;? -Wl,-Bdynamic 后面的都是動(dòng)態(tài)鏈接的。
原理上講,Wl 后面的東西是作為參數(shù)傳遞給鏈接器 ld 。
The -Wl,xxx option for gcc passes a comma-separated list of tokens as a space-separated list of arguments to the linker. So
"gcc -Wl,aaa,bbb,ccc"? eventually becomes a linker call "ld aaa bbb ccc"
轉(zhuǎn)載:GCC -Wl選項(xiàng)_wqfhenanxc的專欄-CSDN博客
(SAW:Game Over!)
總結(jié)
- 上一篇: shell / 获取当前工作目录的方法
- 下一篇: linux / scp 详解