方法1
-static : 所有的库文件使用静态库链接
g++ -static -ltest -lfoo
注意:libtest libfoo 都将只使用静态库,如果没有提供链接无法通过
方法 2:
这里有2个命令介绍一下:
–Bdynamic : 用于在各种可能的情况下为共享动态绑定设置首选项。
-Bstatic : 将绑定只限制于静态库。
当库的静态和动态版本都可用时,使用这2个选项在命令行首选项间进行切换。
注意: 使用这2个命令需要配合 -Wl 选项
一个例子
g++ -Wl,-Bstatic -ltest -lfoo -Wl,-Bdynamic -ltest2
使用libtest.a 和 libfoo.a 静态库
使用libtest2.so 动态库
还有一个选项 -Wl,–as-needed 抛弃所有的无用的动态库