This question already has answers here:
Assembling 32-bit binaries on a 64-bit system (GNU toolchain)

(2个答案)


4年前关闭。




我正在使用64位的Kali linux,并且试图从Paul Carter博士的网站执行以下程序。 gcc命令给出错误。我应该在gcc命令中使用什么?
nasm -f elf32 array1.asm
root@kali:assembly# gcc -o array1 array1.o array1c.c
array1c.c:9:1: warning: ‘cdecl’ attribute ignored [-Wattributes]
array1c.c:10:1: warning: ‘cdecl’ attribute ignored [-Wattributes]
/usr/bin/ld: i386 architecture of input file `array1.o' is    incompatible    with i386:x86-64 output
collect2: error: ld returned 1 exit status

最佳答案

您试图将32位目标文件i386链接到64位可执行文件(i386:x86-64)。将-m32添加到gcc编译行以创建32位可执行文件。

关于gcc - 无法编译程序集:/usr/bin/ld: i386 architecture of input file `array1.o' is incompatible with i386:x86-64 output,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31369916/

10-11 16:32