其中用到的两个选项:-Wl,-Bstatic和-Wl,-Bdynamic。这两个选项是gcc的特殊选项,它会将选项的参数传递给链接器,作为链接器的选项。比如-Wl,-Bstatic告诉链接器使用-Bstatic选项,该选项是告诉链接器,对接下来的-l选项使用静态链接;-Wl,-Bdynamic就是告诉链接器对接下来的-l选项使用动态链接。
示例:
gcc foo.c -Wl,-Bstatic-lbar -lbaz -lqux -Wl,-Bdynamic-lcorge -o foo.exe
参考:
1. http://www.dutor.net/index.php/2011/12/mix-dynamic-and-static-linking/
2. http://stackoverflow.com/questions/2954387/can-i-mix-static-and-shared-object-libraries-when-linking