首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在GCC中针对libc和libstdc ++的调试版本进行链接?

如何在GCC中针对libc和libstdc ++的调试版本进行链接?
EN

Stack Overflow用户
提问于 2018-04-19 10:20:52
回答 2查看 0关注 0票数 0

对于设置,参阅以下简单的C ++程序hw.cpp

代码语言:javascript
复制
    linux-gate.so.1 =>  (0x003e5000)
    libstdc++.so.6 => /usr/local/lib/libstdc++.so.6 (0x007c5000)
    libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0x006a4000)
    libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1 (0x00a40000)
    libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x00a93000)
    /lib/ld-linux.so.2 (0x00a0f000)

现在我似乎还有调试库/usr/lib/debug/lib/tls/i686/cmov/,我想是系统库的相应调试版本。

如何编译我的程序,使其与标准C和/或C ++库的调试版本,libc/ libm/ libstdc++,共享或静态链接?

EN

回答 2

Stack Overflow用户

发布于 2018-04-19 19:15:44

在许多Linux安装中,调试库不包含真正的代码; 它们只包含调试信息。两者是分开的,这样如果你不需要它们,并且你缺少磁盘空间,你可以选择不安装它们,但是调试库本身并不好。

GDB通常预先配置为在需要时查找调试库。

当然,你的系统可能不同。你不说这是什么。

票数 0
EN

Stack Overflow用户

发布于 2018-04-19 19:38:25

你的程序被链接到调试库。

只有'ldd ./hw'在标准位置找到libstdc ++。为此,需要更改LD_LIBRARY_PATH以获取调试共享库以加载并ldd以正确查找它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100008205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档