/usr/bin/ld: cannot find -lgcc_s 问题解决小记

博客分类:
Linux/Ubuntu

由于之前用wubi装的ubuntu并且只给了它10G的硬盘空间,随着学习的深入这种 配备已经无法满足我的需求了。今天索性把ubuntu从windows上“卸载了”,划了20G -_-的空余空间准备安装ubuntu双系统。双系统的安装过程很顺利,但接下来Qtopia的编译就不是很顺利了。我根据前面编译Qtopia时做的记 录文档对源文件还有系统变量进行了若干修改,但是实际编译的过程却跳出了我之前没有遇到的问题。

Linux代码 收藏代码

/usr/bin/ld: cannot find -lgcc_s

终端不断跳出这个错误提示。意思是系统找不到需要链接的库文件。(该库文件为libgcc_s.so)

gcc编译器我用的是3.4.6的版本。一开始我以为系统找不到3.4版本对应的库文件,故打开/etc/ld.so.conf.d目录,添加i486-linux-gnu.conf文件,编辑如下:

Linux代码 收藏代码

# Multiarch support
/usr/lib/gcc/i486-linux-gnu/3.4.6/

#添加库文件寻找路径

终端下输入指令:ldconfig 以更新缓存。
但是再次编译Qtopia发现 还是一样的问题。断定不是库文件目录缺失的问题。于是我自己到/usr/lib/gcc/i486-linux-gnu/3.4.6/文件夹下查找 libgcc_s.so文件。libgcc_s.so是一个链接文件,链接到对应目录的libgcc_s.so.1文件。打开libgcc_s.so弹出 提示链接已损坏。于是一切豁然开朗:文件未能链接到正常的库文件。接下来在终端下输入:

Java代码 收藏代码

locate libgcc_s.so.1

以寻找库文件实际路径(注:我电脑里面同时有4.5版的编译器,该版链接的也是这一个库文件)

弹出:

Linux代码 收藏代码

/lib/i386-linux-gnu/libgcc_s.so.1

于是重定向3.4版编译的的libgcc_s.so链接

Linux代码 收藏代码

ln -sf /lib/i386-linux-gnu/libgcc_s.so.1 /usr/lib/gcc/i486-linux-gnu/3.4.6/libgcc_s.so

为了验证是否能正确链接到,我在桌面上新建了hello.c文件并vim之

C代码 收藏代码

#include <stdio.h>

int main()
{
printf("Hello World!\n");
}

编译:gcc -o hello hello.c

无错误提示。          

运行:./hello

得到我们熟悉的“Hello World!”,呼,问题终于解决了!!!

附:Linux文件链接命令

例:$ ln - s lunch /home/xu
用户为当前目录下的文件lunch创建了一个符号链接/home/xu。
删除符号链接,有创建就有删除
rm -rf symbolic_name 注意不是rm -rf symbolic_name/
链接文件的查看命令:ls
例如:ls -al或者ls -li

时间: 2024-10-23 16:34:18

/usr/bin/ld: cannot find -lgcc_s 问题解决小记的相关文章

chkrootkit 编译报错的解决/usr/bin/ld: cannot find -lc

1:Centos6.5安装chkrootkit wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz tar xvf chkrootkit.tar.gz cd chkrootkit-0.51/ make sense报错如下: /usr/bin/ld: cannot find -lc collect2: ld returned 1 exit status make: *** [strings-static] Error 1 2:解决

关于/usr/bin/ld: cannot find -lcrypto 的错误

Linux下 build code 时,要做 -lssl, -lcrypto 的链接,出现类似下面的错误: /usr/bin/ld: cannot find -lcrypto /usr/bin/ld: cannot find -lssl 原因是没有找到 libssl.so yum info openssl,发现openssl 1.0.0已经安装了 ll /usr/lib64/libssl*,得到 -rwxr-xr-x. 1 root root 242112 Jul 17 2012 /usr/li

【转】“/usr/bin/ld: cannot find -lz”

原文网址:http://stackoverflow.com/questions/3373995/usr-bin-ld-cannot-find-lz I am trying to compile Android source code under Ubuntu 10.04. I get an error saying, /usr/bin/ld: cannot find -lzCan you please tell me how can I fix it? What does cannot find

【转】G++ 处理 /usr/bin/ld: cannot find -lc

原文网址:http://blog.sina.com.cn/s/blog_67bbb71101010tto.html 用g++编译C++程序时显示出:/usr/lib/ld: cannot find -lc/usr/lib/ld: cannot find -lgcc_s/usr/lib/ld: cannot find -lm/usr/lib/ld: cannot find -lgcc_s的错误.在网上看了很多中关于/usr/lib/ld: cannot find -lXXX的解法,但是大同小异,没

【转】关于usr/bin/ld: cannot find -lxxx问题总结

原文网址:http://eminzhang.blog.51cto.com/5292425/1285705 /usr/bin/ld: cannot find -lxxx问题总结 linux下编译应用程序常常会出现如下错误: /usr/bin/ld: cannot find -lxxx 意思是编译过程找不到对应库文件.其中,-lxxx表示链接库文件 libxxx.so. 注:有时候,由于库文件是编译过程临时生成的,如果前面出错也会导致出现这种情况,下面针对的是由于本机系统环境缺失而引起的.. 一般出

Android 编译错误/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../

编译时出现/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../libz.so when searching for -lz错误 ============================================ PLATFORM_VERSION_CODENAME=AOSP PLATFORM_VERSION=AOSP TARGET_PRODUCT=generic TARGET_BUIL

[Android-Building]/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../liblzo2.so when searching for -llzo2

For /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../liblzo2.so when searching for -llzo2 USE: sudo apt-get install liblzo2-dev:i386 For /usr/bin/ld: skipping incompatible /usr/lib/../lib/libuuid.so when searching for -

【转】linux /usr/bin/ld cannot find 解决

原文网址:http://blog.csdn.net/mzwang123/article/details/6702889 问题:在linux环境编译应用程式或lib的source code时常常会出现如下的错误讯息: /usr/bin/ld: cannot find -lxxx 这些讯息会随着编译不同类型的source code 而有不同的结果出来如: /usr/bin/ld: cannot find -lc /usr/bin/ld: cannot find -lltdl /usr/bin/ld:

Linux编译问题——/usr/bin/ld: cannot find -lxxx问题总结

作者:zhanhailiang 日期:2014-12-08 make时报"/usr/bin/ld: cannot find -lxxx",是指编译过程找不到对应库文件,其中,-lxxx表示链接库文件libxxx.so. 一般出现这种错误有以下几种原因: 系统缺乏对应的库文件: 版本不对应: 库文件的链接错误: 库文件路径设置问题. 前两种情况只需要下载安装lib库即可(一般地,yum install libxxx-dev或apt-get install libxxx-dev直接安装即可