您的位置:首页 > 其它

处理 /usr/bin/ld: cannot find -lc等编译问题

2017-10-22 16:46 633 查看
用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/lib/ld: cannot find -lc:

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

2. 进入usr/lib目录:cd /usr/lib

3.建立链接:sudo ln -sv /lib/i386-linux-gnu/libc.so.6 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.so libm.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.1 libgcc_s.so

当某一个链接建立成功的时候,系统显示是类似这样的:

“libgcc_s.so” -> “/lib/i386-linux-gnu/libgcc_s.so.1”

另:http://blog.csdn.net/mingchan/article/details/6932804

转载自:http://blog.csdn.net/season_hangzhou/article/details/8469146#plain

此篇文章有点小问题,如下

<解决/usr/lib/ld: cannot find -lc> 解决方案中博主的lib.so.6文件在/usr/lib/i386-linux-gnu下面,而通常我们的lib.so.6文件在/usr/lib文件夹下面,故而我们不能直接照抄博主的命令

sudo ln -sv /lib/i386-linux-gnu/libc.so.6 libc.so

而应该改成

sudo ln -sv /usr/lib/libc.so.6 /usr/lib/libc.so

同理如果libc.so.6文件在其他文件夹下将/usr/lib/libc.so.6改成实际的路径即可

参考:http://tchuairen.blog.51cto.com/3848118/1559436
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: