7

我正在阅读有关在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.

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

4

2 回答 2

4

当我试图在受害者服务器上编译我的漏洞利用时,我在一次渗透测试中也遇到了同样的错误。

在我的例子中,“ld”程序所在的目录没有在 PATH 环境变量中定义,所以我只是添加了它。

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

于 2019-10-29T07:51:38.107 回答
1

我在破解远程机器并尝试使用 gcc 在受害机器上编译漏洞时遇到此错误。

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

于 2017-02-09T23:02:38.317 回答