結論
下記のように書く。
g++ main.o -Wl,-Bstatic -lAAA -lBBB -Wl,Bdynamic -lXXX -lYYY
結果、次のように静的リンクと動的リンクを混在させられる
- 静的リンク:libAAA, libBBB
- 動的リンク:libXXX, libYYY
gcc の -Wl オプションについて
-Wlはリンカへのオプションをカンマ区切りで書くとのこと。
以下 man gcc から抜粋
-Wl,option
Pass option as an option to the linker. If option contains commas, it is split into multiple options at the commas. You can use this syntax to pass an argument to the option.
For example, -Wl,-Map,output.map passes -Map output.map to the linker. When using the GNU linker, you can also get the same effect with -Wl,-Map=output.map.