1. 使用ar -M [ < merge.script ]命令

写一个脚本merge.script,将脚本重定向给ar -M命令的stdin。

使用create传入输出的静态库文件名,addlib传入输入的静态库,addmod传入输入的目标文件,最后调用saveend

1
2
3
4
5
6
7
8
9
create <libmerged.a>
addlib <libfirst.a>
addlib <libsecond.a>
...
addmod <object_first.o>
addmod <object_second.o>
...
save
end

2. 注意排列顺序

把必须包括其所有符号的输入库放在前面,因为在后面库中包含重复符号名的时候可能直接丢弃以前面为准。

3. 参考