0

我正在尝试将一些 .o 文件链接到:

gcc -m32 send.o lib.o -o send

我得到:

/usr/bin/ld: i386:x86-64 architecture of input file `send.o' is incompatible with i386 output
/usr/bin/ld: final link failed: Invalid operation
collect2: ld returned 1 exit status

我已经安装了 libc6-i386 gcc-multilib ia32-lib

问题可能出在哪里?

4

1 回答 1

2

你没有编译。您正在链接已编译的目标文件。看来 send.o 被编译为 x86_64 对象(没有 -m32)。您不能从 32 位目标文件链接 64 位可执行文件。

确保所有目标文件都以 32 位模式编译。

于 2012-03-11T22:06:44.753 回答