Gcc collect2:致命错误:找不到“ld”

XXO*_*XO2 5 c gcc cross-compiling ubuntu-15.10

我正在阅读有关在http://wiki.osdev.org/Bare_Bones上制作操作系统的教程。当我尝试使用以下命令链接 boot.o 和 kernel.o 时:i686-elf-gcc -T linker.ld -o myos.bin -ffreestanding -O2 -nostdlib boot.o kernel.o -lgcc,我得到了这个错误:

collect2: fatal error: cannot find 'ld'
compilation terminated.
Run Code Online (Sandbox Code Playgroud)

我刚刚安装了带有gcc-5.2.1binutils-2.25.1 的全新 Ubuntu 15.10 。我在互联网上搜索了答案,但没有任何帮助。

小智 5

当我尝试在受害者服务器上编译漏洞时,我在渗透测试期间也遇到了同样的错误。

就我而言,“ld”程序所在的目录尚未在 PATH 环境变量中定义,因此我只是添加了它。

例如export PATH=$PATH:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin


Inf*_*5ek 0

我在攻击远程计算机并尝试使用 gcc 在受害计算机上编译漏洞时遇到此错误。

我只是将程序复制ld/tmp/我正在编译漏洞的工作目录,然后exploit.c运行 cp /usr/bin/ld /tmp/ld 原始的 gcc 编译命令,然后编译就成功了。