【发布时间】:2017-08-12 20:15:03
【问题描述】:
我正在尝试构建启用了调试符号 (-g) 的 C++ 软件。问题是额外的调试符号使包含的库太大以至于最终链接步骤失败
../../lib/libutil.a: could not read symbols: Malformed archive
(至少我认为它失败是因为它的大小,磁盘上略高于 6 GB)
我环顾四周,发现静态库的最大大小可能为 4 GB。不确定这是否适用于我的 64 位 CentOS 系统:
$ unname -a Linux 主机 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
我使用的是 g++ (GCC) 4.8.2 编译器,binutils 版本是 GNU ld 版本 2.20.51.0.2-5.36.el6。
如果存档工具或链接器确实可以处理 4GB 的最大限制,我有哪些选择,而不会过多地使用构建系统的内部(顺便说一下,自动工具)?
【问题讨论】: