我在终端用cp了一个.so进入usr/bin/ld 结果现在连hello world都不能编译。这个怎么办?
2条回答 默认 最新
- chenjiexixi 2017-06-13 02:14关注
最近在linux上误操作,执行了如下命令:
sudo cp /home/bizhi/Desktop/libusb-compat-0.1.5/libusb/.libs/libusb.so /usr/bin/ld
然后执行了 ll /usr/bin/ld*
lrwxrwxrwx 1 root root 6 2013-05-24 16:56 ld -> ld.bfd*
-rwxr-xr-x 1 root root 49410 2013-06-09 19:34 ld.bfd*
-rwxr-xr-x 1 root root 5279 2011-10-05 06:06 ldd*
-rwxr-xr-x 1 root root 1796268 2011-09-22 21:07 ld.gold*
好像并没有被覆盖掉。
但是我接着用 gcc 或者 g++编译时,就会出现了如下错误
ubuntu:~/test$ gcc a.c -o a
collect2: ld terminated with signal 11 [Segmentation fault]
a.c的源码如下#include
#include
int main(int argc,char *argv[])
{
printf("test\n");
return 0;
}因为之前gcc和g++是可以用的。不知道是不是由于我的误操作导致的,还是因为其他原因,请帮忙查看一下。谢谢!
------解决方案--------------------
sudo cp /home/bizhi/Desktop/libusb-compat-0.1.5/libusb/.libs/libusb.so /usr/bin/ld
你实际上是把libusb.so的内容给了ld -> ld.bfd*即,给了ld.bdf*,那么就是改变了ld.bfd的内容,所以编译通不过。cp就是拷贝,如果你要用libsub.so的链接的话,就改为用mv解决 无用评论 打赏 举报
悬赏问题
- ¥15 安装svn网络有问题怎么办
- ¥15 Python爬取指定微博话题下的内容,保存为txt
- ¥15 vue2登录调用后端接口如何实现
- ¥65 永磁型步进电机PID算法
- ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
- ¥88 找成都本地经验丰富懂小程序开发的技术大咖
- ¥15 如何处理复杂数据表格的除法运算
- ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
- ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
- ¥15 latex怎么处理论文引理引用参考文献