`

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

 
阅读更多

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

 

/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文件,编辑如下:

 

# 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弹出 提示链接已损坏。于是一切豁然开朗:文件未能链接到正常的库文件。接下来在终端下输入:

 

locate libgcc_s.so.1

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

 

弹出:

 

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

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

 

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之

 

#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

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Linux编译静态链接出现:/usr/bin/ld: cannot find -lc,解决方式

    Linux编译静态链接出现:/usr/bin/ld: cannot find -lc. 将libc.a拷贝到usr/lib/中,问题得以解决。

    /usr/bin/ld:cannot find-lThreads的解决办法

    总之,解决"/usr/bin/ld: cannot find -lThreads"的关键在于确保CMakeLists.txt正确配置了线程库的链接。这通常包括使用`find_package(Threads REQUIRED)`、设置编译标志或直接使用`target_link_libraries`与`-...

    解决 cannot find -lxxx 的问题

    ### 解决 "cannot find -lxxx" 的问题 在Linux环境下进行软件开发或构建时,可能会遇到链接器报错 `cannot find -lxxx` 的情况。这类错误通常出现在使用 `gcc` 或其他编译工具进行链接操作的过程中,当链接器无法...

    darknet /usr/bin/ld: cannot find -lcuda

    ubuntu18.04 , cuda10.0 编译darknet出现/usr/bin/ld: cannot find -lcuda cannot find -lcuda 意思是编译时未找到libcuda库。 首先查看Makefile这中cuda路径是否正确,即下面第四行lib路径 ifeq ($(GPU), 1) COMMON...

    /usr/bin/ld 找不到 -lcuda

    1,这是一个压缩文件,解压后名称应为libcuda.so,是...2,这个文件用于不具备cuda显卡的电脑在ubuntu平台配置gpgpu-sim时,绕过因为找不到lcuda而无法顺利编译的错误,将其放在/usr/local/cuda/lib64下即可解决问题。

    centos安装jdk1.8时出现没有/lib/ld-linux.so.2:这个文件的原因分析

    -bash: /usr/local/jdk/jdk1.8.0_181/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 安装完后 java -version 查看版本出现: 原因是:没有那个文件或目录,找了很久发现需要...

    CentOS 安装软件出现错误:/lib/ld-linux.so.2: bad ELF interpreter 解决

    bash:/usr/local/bin/rar:/lib/ld-linux.so.2:badELFinterpreter:Nosuchfileordirectory ``` - 这意味着系统未能正确加载程序所需的动态链接器(ld-linux.so.2)。 2. **共享库错误**: - 在尝试运行某些依赖于...

    安装lamp报错信息及解决方法

    usr/bin/ld: cannot find -lltdl /usr/bin/ld: cannot find -lmysqlclient httpd: Syntax error on line 57 of /etc/httpd/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/...

    libstdc++6_4.7.2-5_amd64.7z

    ./bin/mysqld: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./bin/mysqld) ./bin/mysqld: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./bin/mysqld) libstdc...

    Ubuntu环境QT问题 /usr/bin/ld: 找不到 -lGL(已解决)

    安装完qt之后,构建项目就会出现:/usr/bin/ld: 找不到 -lGL 因为缺少了libGL环境,此时更新libGL环境 执行此命令sudo apt-get install libgl1-mesa-dev 执行完命令会提示错误,说依赖关系被破坏 因为是源有问题,...

    解决-BASH: /HOME/JAVA/JDK1.8.0_221/BIN/JAVA: 权限不够问题

    以上所述是小编给大家介绍的解决-BASH: /HOME/JAVA/JDK1.8.0_221/BIN/JAVA: 权限不够问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持! ...

    不同版本Linux下基于libxml2的C编译问题解决

    /usr/bin/ld: warning: libpgtypes.so.1, needed by /usr/lib/libecpg.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libpq.so.3, needed by /usr/lib/libecpg.so, not found (try using ...

    gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi.tar.xz.7z

    描述中提到,这个压缩包应该在Linux系统下解压,并放置在“/usr/local/arm”路径下。这是为了遵循Linux的文件系统层次结构标准(FHS),将软件安装在非系统关键路径中,以便用户自定义软件的管理和更新,同时不会...

    x86_64-4.8.5-release-posix-sjlj-rt_v4-rev0.7z

    PATH : /usr/local/bin:/usr/bin:/bin:/opt/bin:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_...

    视觉slam十四讲中第十一章libopencv_core问题:

    ss/usr/bin/ld: warning: libopencv_core3.so.3.3, needed by /usr/local/lib/lib 搜寻了好久大致有以下几种解决方案: 1.把该文件所在的目录放到linux动态库链接文件中: sudo gedit /etc/ld.so.conf 输入路径...

    解决gedit: symbol lookup error: /home/xxx/libgobject-2.0.so.0: undefined symbol: g_date_copy问题

    在这个具体的例子中,我们解决了gedit在Ubuntu 16.04上无法启动的问题,通过更新LD_LIBRARY_PATH使得gedit使用了正确版本的libgobject-2.0.so.0库,从而确保了程序的正常运行。这个经验对于理解和处理类似的问题具有...

    bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or directory

    主要介绍了bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or directory,需要的朋友可以参考下

    jdk-11.0.4_linux-x64_bin.tar.gz

    jdk-11.0.4_linux-x64_bin.tar 直接使用,安装步骤: 1,下载完成将文件移动 /usr/local/ 并解压 tar -xvf openjdk-11+28_linux-x64_bin.tar.gz 2,重命名解压文件 mv jdk-11/ jdk11/ 3,配置环境变量,编辑文件...

    libpng12-0_1.2.54-1ubuntu1.1_amd64.deb

    该文件可以用于解决启动verdi后的报错,verdi/platform/LINUXAMD64/bin/ Novas: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory 注意适用于64...

    安装docker-compose的两种最简方法

    这里简单介绍下两种安装docker-compose的方式,第一种方式相对简单,但是由于网络问题,常常安装不上,并且经常会断开,第二种方式略微麻烦,但是安装过程比较稳定 方法一: # curl -L ...

Global site tag (gtag.js) - Google Analytics