请问uClibc是否完备?至少它没有libgcc_s.so.1,它们之间是什么关系?

韦东山
企业官方账号
2007-10-01 03:24:04
我尝试使用uClibc制作一个根文件系统的库,
编译出来的动态库中没有libgcc_s.so.1,
而这个文件在很多程序中都会用到,
比如对于动态连接的busybox,它的库依赖如下:
libcrypt.so.0 => libcrypt.so.0 (0x00000000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00000000)
libc.so.0 => libc.so.0 (0x00000000)
libc.so.6 => /lib/libc.so.6 (0x00000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00000000)

libgcc_s.so.1是工具链本身自带的东西?我对这没概念,在网上也没能找到相关资料,请指教。
...全文
1007 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
noteethtiger 2009-10-13
  • 打赏
  • 举报
回复
gcc在编译的时候采用了两种方式,--enable-shared和--disable-shared这两种方式,其中默认是--enable-shared模式,这种模式就会输出libgcc_s.so,而采用disable-shared的模式就不会。
在通常的模式下,不论是采用动态模式和静态模式编译的gcc,都能够正确的做出反应,确认是否需要链接libgcc_s.so库,从你提的问题的看,你的gcc是一个动态编译的应用,但是显然你的工具链中的gcc相关的库却没有。只能说你的工具链不是一个正常的工具链。交叉编译工具链最好使用一套的工具链,拼凑起来的工具链出问题是很正常的事情
zhhonghui 2007-10-29
  • 打赏
  • 举报
回复
没有人解答吗?
zhhonghui 2007-10-20
  • 打赏
  • 举报
回复
我现在需要这两个库文件,但总不能安装一个gcc吧,难道就只能直接从别的机器拷贝?
hefuhua 2007-10-03
  • 打赏
  • 举报
回复
libstdc++.so和libgcc_s.so库确实是gcc的
韦东山 2007-10-03
  • 打赏
  • 举报
回复
gcc的库?意思就是uClibc并不实现所有功能,需要联合其他库来工作.
实际上,在学习linux的过程中,我经常被这些术语弄昏头,比如GNU,
它的意思是“GNU's Not Unix”,老天,我知道你不是Unix,但是你
是什么?──当然,现在我知道了
hefuhua 2007-10-01
  • 打赏
  • 举报
回复
"libgcc_s.so.1是工具链本身自带的东西?"
是gcc一个库,就算把gcc全部删除了,还得保留该库,还有c++库(名字忘记了)也必须保留,比较粗鲁得做法就是找个相同环境的系统把libgcc_s.so.1拷贝到对于的位置试试..

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧