4.1.6. 如何将缩减 .a
文件里面 .o
文件的个数
.a
即静态库文件。.a
文件是一种归档格式,里面是若干个 .o
文件。
如果 .a
里面的 .o
文件较多,且这些 .o
都是 LTO 模式编译得到的时候(即,编译时添加了 -flto
参数),可能会在链接的过程中遇到 Too many open files
的错误。
这个时候,可以考虑将 .a
文件里面的多个 .o
文件合并。
可以使用我们提供的缩减脚本(点击此处下载)。
Note
需要首先确保工具链版本是 2.4.8 或以上。工具链下载地址参考:工具最新版本
4.1.6.1. 使用方式
安装 python3(点击此处下载) 环境,注意要将 python 添加到 PATH 中:
解压下载的合并脚本,如下图所示:
界面如下图所示,点击按钮选择文件即可:
完成后,会提示生成文件的保存路径
Note
如果希望用命令行来合并,可以使用下面的命令:
python3 merge_arhive_ofiles.py input1.a --output new.a
这个命令,将 input1.a
的 .o
文件合并生成 new.a