$ make qemu-nox
ld -m -N -e main -Ttext 0 -o _cat cat.o ulib.o usys.o printf.o umalloc.o
C:MinGWbinld.exe: unrecognised emulation mode: -N
Supported emulations: i386pe
make: *** [_cat] Error 1
尽管我已经安装了QEMU,并遵循了以下指南一步一步:其他SO问题,但我仍然会收到这个错误。
关于如何使这项工作发挥作用,有什么建议吗?
似乎一行的行为符合要求:
LDFLAGS += -m $(shell $(LD) -V | grep elf_i386 2>/dev/null | head -n 1)
正如您所看到的,这一行构建了ld
的命令行,并尝试为elf
启用仿真模式(-m
(。
您的ld
似乎不支持这种可执行文件。
那么,你能做什么呢?
- 您可以尝试删除
LDFLAGS
以使用默认模拟模式(i386pe(,但我认为它不起作用 - 您可以安装支持
elf
二进制文件的ld
版本。一旦您安装了它,您肯定会有一个名为i386-elf-ld
的可执行文件,如果是这样,请使用TOOLPREFIX=i386-elf- make qemu-nox
启动您的构建