用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. 百度地图API接口

    js <script type="text/javascript"> // 百度地图API功能 var map = new BMap.Map("map&quo ...

  2. 游戏服务器学习笔记 4———— master 模块介绍

    (模块的介绍方法都是先说大体功能,在捡一些细节详细讨论.) master 类很简单,就3个函数,一个init,设置配置信息,并调用masterapp,然后还有一个循环启动子进程的start函数. 这里 ...

  3. 【Eclipse】启动时报错:No Java virtual machine (已解决)

    在 Ubuntu 上下了个最新的 Eclipse ,解压后运行报这样的错误: 当然 JDK 的安装及环境变量的配置是没有问题的.使用 java -version 查询本机的JDK版本是可以的. 如果不 ...

  4. 原生js--HTTP进度事件

    1.HTTP进度事件属于XHR2规范定义的系列事件 2.事件模型中会触发不同的事件,所以不再需要检查readyState事件 3.当调用send()时,触发loadstart事件 4.当正在加载服务器 ...

  5. [原]Openstack之identity server(keystone)

    本博客已经添加"打赏"功能,"打赏"位置位于右边栏红色框中,感谢您赞助的咖啡. 重新温习keystone的概念和理解 --------------------- ...

  6. Unix/Linux 查看文件大小

    ls -l help.html-rw-r--r--  1 william  wheel  40960 Jul 18 00:59 development.sqlite3 40960 就是文件的大小. d ...

  7. 【BZOJ5094】硬盘检测 概率

    [BZOJ5094]硬盘检测 Description 很久很久以前,小Q买了一个大小为n单元的硬盘,并往里随机写入了n个32位无符号整数.因为时间过去太久,硬盘上的容量字眼早已模糊不清,小Q也早已忘记 ...

  8. Linux命令记录----chkconfig命令

    chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--ad ...

  9. 9.13Django ORM那些事

    2018-9-13 14:23:22 ORM那些事  参考 : https://www.cnblogs.com/liwenzhou/p/8660826.html 今天的都是ORM的查询 更详细进阶了! ...

  10. java 中的this

    this 关键字 1.在类的方法定义中使用this关键字 代表使用该方法的对象的引用 2.必须指出当前使用方法的对象是谁时 使用this 3.有时使用this可以处理方法中成员变量和参数重名的情况 4 ...