terça-feira, 31 de maio de 2011

Como compilar aplicativos de 32-bit em um sistema de 64-bit

Os sistemas de 64-bit estão cada vez mais populares e oferecem mais estabilidade e rapidez do que os de 32-bit, que ainda são muito usados. Se você compila ou desenvolve seus programas em uma distribuição GNU/Linux de 64-bit, saiba que não é necessário manter uma máquina virtual com um sistema de 32-bit apenas para compilar seu projeto: o bom e velho gcc pode gerar código nativo para as duas arquiteturas.



Para fazer isso, basta incluir o parâmetro -m32 na linha de comando na hora de chamar o compilador. Assim, se você vai compilar um arquivo chamado hello.c, você normalmente faria isso:




gcc -o hello hello.c


Mas este comando vai gerar código nativo para o seu sistema operacional. Para forçar o GCC a compilar o código para a plataforma 32-bit, utilize:




gcc -m32 -o hello32 hello.c


E para compilar para a plataforma 64-bit, faça:




gcc -m64 -o hello64 hello.c


Note que, propositalmente, mudamos o nome do arquivo de saída. Simnples e fácil. Agora, e se você, ao invés de ter um único arquivo .c, tiver um Makefile? Sem problemas! Basta especificar a arquitetura na variável CFLAGS deste jeito:




CFLAGS="-m32"

./configure

make

make install


Ou então:




CFLAGS="-m64"

./configure

make

make install


Note que, dependendo da distribuição, pode ser necessário instalar bibliotecas adicionais para realizar a compilação, mas nada muito complicado.

Nenhum comentário:

Postar um comentário