Pergunta

Qual é a melhor forma de compilar programas com DMD em uma máquina de 64 bits? Ele não precisa compilar o código de 64 bits. Eu sei sobre GDC, mas quero trabalhar com D2 também. Há também chroot, mas estou esperando por uma maneira mais simples.

O problema real não é com a compilação, mas ligando. chamadas DMD no GCC para realizar a ligação com bibliotecas do sistema. Eu poderia começar DMD ter ligação GCC contra a biblioteca de 32 bits? Ou como eu iria fazê-lo manualmente?

Já tenho os ia32 bibliotecas instalado é por isso que eu posso correr DMD.

Foi útil?

Solução

Pergunte GCC para executar ligação de 32 bits, passando-'-m32' bandeira.

Parece que DMD não invoca gcc para executar o link, mas sim invoca ld diretamente. O interruptor ld equivalente é '-melf_i386', e, aparentemente, a maneira de passagem DMD fazer essa opção para o vinculador é com a bandeira '-L-melf_i386'.

Note que muitos sistemas separar bibliotecas de execução e desenvolvimento. pacotes de tempo de execução de 32 bits são quase sempre instalado por padrão, mas pacotes de desenvolvimento de 32 bits não pode ser.

Você precisa desenvolvimento pacotes de 32 bits para construir programas de 32 bits. O fato de que 32 bits DMD pode ser executado não em si provar que você tem todas as bibliotecas de 32 bits que você precisa, a fim de programas de 32 bits construção.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top