默认状况下,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指示连接系统动态库。