用gcc静态编译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

的错误。主要问题出在静态编译时需要链接静态库,将动态库编译到文件中,去掉此参数是没问题。

非静态编译时 ldd filename,显示如下,这是可执行程序所需要的动态库,运行可执行程序时需要如下动态库。

linux-gate.so.1 =>  (0x009a3000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x008fd000)
        libc.so.6 => /lib/libc.so.6 (0x0077f000)
        /lib/ld-linux.so.2 (0x0075d000)
        libtinfo.so.5 => /lib/libtinfo.so.5 (0x05c46000)
        libdl.so.2 => /lib/libdl.so.2 (0x008f6000)

静态编译时需要将所有的.a库链接到可执行程序中,所以需要libc的静态库文件,使用此命令查看rpm -ql glibc-static提示没有库文件,到下面的地址

http://www.rpmfind.net/linux/rpm2html/search.php?query=libc.a&submit=Search+...

下载glibc-static文件,使用 rpm -iv filename.rpm安装即可,调用find / -name libc.a可以看到libc的静态库,或则利用yum install glibc-static安装。

     

*******以下为非静态编译时出错的处理流程:

解决/usr/lib/ld: cannot find -lc:

1. 在系统中搜索 libc.so 文件。搜索出一个无效的链接,删除;还有一个 libc.so.6,在/lib下面。

2.建立链接: ln- sv /lib/libc.so.6 libc.so 或cp /lib/libc.so.6 /lib/libc.so

解决/usr/lib/ld: cannot find -lm:
1. 在系统中搜索 libm.so 文件。搜索出一个 libm.so,在/usr/lib/i386-linux-gnu下面。
2. 进入usr/lib目录:cd /usr/lib
3.建立链接:sudo ln -sv /usr/lib/i386-linux-gnu/libm.solibm.so

解决/usr/lib/ld: cannot find -lgcc_s:
1. 在系统中搜索 libgcc_s.so文件。同样在/usr/lib/i386-linux-gnu下面搜索到了libgcc_s.so.1。
2. 进入usr/lib目录:cd /usr/lib
3.建立链接:sudo ln -sv /lib/i386-linux-gnu/libgcc_s.so.1libgcc_s.so

当某一个链接建立成功的时候,系统显示是类似这样的:
"libgcc_s.so" ->"/lib/i386-linux-gnu/libgcc_s.so.1"

gcc static静态编译选项提示错误修正(/usr/lib/ld: cannot find -lc)的更多相关文章

  1. gcc static静态编译选项提示错误:/usr/lib/ld:cannot find -lc

    在学习gcc静态库动态库编译的时候选用静态库编译时出错显示:/usr/lib/ld:cannot find -lc 百度:/usr/lib/ld:cannot find -lc多处给的解决方案为: 然 ...

  2. 【解决】/usr/bin/ld: cannot find -lc

    现象:运行gcc静态编译程序时报错: /usr/bin/ld: cannot find -lc collect2: ld returned 1 exit statusmake: *** [gcc_dr ...

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

    原文网址:http://blog.sina.com.cn/s/blog_67bbb71101010tto.html 用g++编译C++程序时显示出:/usr/lib/ld: cannot find - ...

  4. 解决:执行python脚本,提示错误:/usr/bin/python^M: 解释器错误: 没有那个文件或目录。

    执行python脚本,提示错误: /usr/bin/python^M: 解释器错误: 没有那个文件或目录. 产生错误原因: \r字符被显示为^M,这时候只需要删除这个字符就可以了. Linux环境下: ...

  5. 系统中提示未找到/usr/bin/ld: cannot find -lxxx错误的通用解决方法

    在linux环境编译应用程式或lib的source code时常常会出现如下的错误讯息: 代码如下: /usr/bin/ld: cannot find -lxxx 这些讯息会随着编译不同类型的sour ...

  6. /usr/bin/ld: cannot find -lc错误原因及解决方法

    问题解决 我在执行如下命令的时候,出现了错误. gcc -o main main.c -static -L. –lmylib Linux环境下gcc静态编译/usr/bin/ld: cannot fi ...

  7. /usr/bin/ld: cannot find -lc

    yum install glibc-static [root@test chkrootkit-0.50]# make sensecc -static -o strings-static strings ...

  8. 编译错误:/usr/bin/ld: cannot find -lz

    编译时出现错误/usr/bin/ld: cannot find -lz,安装zlib和zlib-devel yum install zlib yum install zlib-devel

  9. 编译hostapd时,出现错误:/usr/bin/ld: cannot find -lnl

    book@ubuntu:/work/project/wifi/04.hostapd/hostapd-2.0/hostapd$ make /usr/bin/ld: cannot find -lnl co ...

随机推荐

  1. 【EF框架异常】System.MissingMethodException:“找不到方法:“System.Data.Entity.ModelConfiguration.Configuration.PrimitivePropertyConfiguration

    最近调试EF的时候遇到下面这个问题 System.MissingMethodException:“找不到方法:“System.Data.Entity.ModelConfiguration.Config ...

  2. 【Mac】WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

    使用Mac 自带终端 链接服务器时候,报错如下 处理办法: 第一种:  直接删除:  /users/username/.ssh/known_hosts  文件 第二种: ssh-keygen -R   ...

  3. JAVA知多少

    读<java解惑>感觉有意思的就记录一下. 1.判断奇数还是偶数 public boolean isOdd(int i){ return i%2==1; }; 这样子看起来很对,但是考虑到 ...

  4. 决策树归纳算法之ID3

    学习是一个循序渐进的过程,我们首先来认识一下,什么是决策树.顾名思义,决策树就是拿来对一个事物做决策,作判断.那如何判断呢?凭什么判断呢?都是值得我们去思考的问题. 请看以下两个简单例子: 第一个例子 ...

  5. 跨域 - jsonp轻松搞定跨域请求

    1.jsonp轻松搞定跨域请求 vue中使用axios,遇到跨域我就蒙逼了.第一次真正意义上的尝试使用jsonp js中用 var myscript = document.createElement( ...

  6. Python Tkinter Text控件

    原文地址: http://blog.csdn.net/bemorequiet/article/details/54743889 这篇博客主要是简单的说一下Tkinter中的Text控件的相关知识. T ...

  7. Git 创建两个“本地分支”协同工作

    一 代码拉下来后,首先创建两个本地分之 $repo start master . //仅仅用于同步服务器的修改(此处master名字可以随意定,但是建议定成这样,好记忆) $repo start wo ...

  8. sencha touch 可自动增长高度TextArea

    js代码如下: /* *高度自动增长的文本框 */ Ext.define('ux.TextArea', { extend: 'Ext.field.TextArea', xtype: 'autoText ...

  9. [APP] Android 开发笔记 006-使用短信验证SDK进行短信验证

    1. 下载SDK (http://www.mob.com/#/download) SMS For Android Studio: http://www.mob.com/download/sms/and ...

  10. 图论-桥/割点/双连通分量/缩点/LCA

    基本概念: 1.割点:若删掉某点后,原连通图分裂为多个子图,则称该点为割点. 2.割点集合:在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个 ...