ppplinday 2017-06-13 02:14 采纳率: 0%
浏览 3098
已结题

Linux下错误操作了usr/bin/ld 现在连个g++都不能编译了 怎么办

我在终端用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 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。