只是想備忘這篇: GCC: --start-group and --end-group command line options - Stack Overflow
關鍵的 gcc 指令:
-Wl,--start-group -lmy_lib -lyour_lib -lhis_lib -Wl,--end-group -ltheir_lib
- gcc man page 說明 -Wl,X 傳遞參數 X 給 linker
- ld man page 說明 --start-group archives --end-group
這個作法的好處是不用理會 static library 在參數裡的順序 (預設是假設 A 依賴 B 時, A 要放在 B 前面), 壞處是會加長 linking 時間。
Btw, 遇到和 linking 相關的問題時, 記得要同時從 compiler 和 linker 的角度看問題。
沒有留言:
張貼留言