quinta-feira, 14 de fevereiro de 2013

i386 architecture of input file is incompatible with i386:x86-64 output

Salve galera,

Aqui um problema apresentado ao usar o linker ld no slackware 64 bits.  Ao compilar uma programa Assembly:

nasm -f elf -g debug.asm 



E depois usar o ld para fazer a linkagem do código objeto para o executavel, como o seguinte comando:



ld -o debug debug.o

Recebemos a mensagem:

ld: i386 architecture of input file `debug.o' is incompatible with i386:x86-64 output

Para resolver, temos que informar pra qual processador será compilado. Como no meu caso, uso o Slackware 64 bits emulando 32 bits, informo:

ld -m elf_i386 -o  debug debug.o

E resolvido. Agora a linkagem funciona.

Até a próxima.

Nenhum comentário:

Postar um comentário