我正在关注一段时间的在线教程,它说要使用
ld -s -o testing test.o
创建输出文件。
我收到错误
ld: i386 architecture of input file 'test.o' is incompatible with i386:x86-64 output
尝试运行该行时。
Test.o
由nasm -f elf test.asm
创建。它不能以64位格式创建。
我该如何解决这个问题?非常感谢你的时间!!
答案 0 :(得分:1)
你无法使用32位代码制作64位可执行文件。
如果您想制作32位可执行文件,可以使用-m elf_i386
:
$ ld -s -o test test.o
ld: i386 architecture of input file `test.o' is incompatible
with i386:x86-64 output
$ ld -s -o test test.o -m elf_i386
$