说明
- 最近使用 armcc 5 c++98 编译工具链,编译的静态库 xx.a 比较大,应该是包含调试信息等,接近 300MB 大小
裁剪方法
试了一下,使用 armcc 的 fromelf
直接处理库内所有 .o 文件,去除调试信息并原位保存
fromelf --elf --in_place --strip=debug your_library.a
-
这里说明一下,
--in_place关键字感觉非常的重要,原地进行裁剪,如果 xx.a 静态库中包含相同命名的 yy.o,依旧不受到影响。 -
如果使用
armar -x xx.a先解压静态库,需要【考虑】是否有重名的 .o 文件问题,如果有重名的,导致丢失某个 .o 文件,从而链接时报错。