默认情况下,GCC/G++ 链接时优先链接动态库,如果没有动态库,则链接相应的静态库。同时,GCC/G++ 也提供了链接选项 -Wl,-Bstatic 和 -Wl,-Bdynamic 供用户指定链接动态库或者静态库。
-Wl,-Bstatic 指示跟在后面的 - lxxx 选项链接的都是静态库,-Wl,-Bdynamic 指示跟在后面的 - lxxx 选项链接的都是动态库。
如下,
g++ -L. -o main main.cc -Wl,-Bstatic -ltest -Wl,-Bdynamic
前面的 -Wl,-Bstatic 指示链接 libtest.a 静态库,后面的 -Wl,-Bdynamic 指示链接系统动态库。
评论区