对于我正在开发的小项目,我一直在通过命令行使用简单的编译。然而,随着它变大,我决定学习并使用autoconf和automake来编译它。
经过一些配置后,我使用automake成功构建。但是我注意到输出二进制文件的大小比通过命令行使用g ++大。我尝试使用静态和动态库,结果是一样的。
我也尝试过一个简单的hello世界,它在使用automake时比使用命令行编译更大。
所以,我尝试运行objdump -h
:编译的命令行返回了27个部分,另一方面,编译的automake返回了相同的27个部分以及7个部分,名为debug_aranges,debug_info,debug_abbrev,debug_line,debug_loc ,debug_ranges。所以我显然认为这与调试有关。
所以,任何人都知道这些部分是什么,如果它们是必要的,以及如何摆脱那么可执行文件的分发更小。
答案 0 :(得分:6)
安装二进制文件时只需调用make install-strip
,install
将在安装过程中删除它们。