Como faço para compilar meu aplicativo para a arquitetura armhf do Ubuntu 12.04 em um host Ubuntu 12.04 i386?

15

Eu tenho um aplicativo grande que escrevi. Posso compilar com êxito o aplicativo nos seguintes cenários:

  • em uma compilação nativa para o host i386 executando o Ubuntu 12.04
  • nativamente em um PandaBoard executando o Ubuntu 12.04 (isso leva muito tempo)
  • usando o Qemu e um chroot no PC host para o alvo armbf PandaBoard (isso leva muito tempo)

Eu gostaria de fazer uma compilação cruzada do aplicativo no host i386 para ser executado em um destino, como o PandaBoard, para concluir compilações em tempo hábil. Até agora, as tentativas feitas usando a cadeia de ferramentas arm-linux-gnueabihf nos repositórios produziram binários que não são executados corretamente. Nesta fase, não tenho planos para empacotar o software.

Qual é a maneira recomendada de obter uma compilação cruzada bem-sucedida?

    
por Jonathan Cave 02.05.2012 / 21:53

1 resposta

6

link

link

O Ubuntu tem um conjunto de ferramentas cruzadas, apt-get install gcc-arm-linux-gnueabihf , mas o trabalho na próxima cadeia de ferramentas é discutido aqui: link

Existem várias soluções alternativas necessárias neste momento. Por exemplo, se você usar links indiretos (cobertos na página wiki do linaro), você também deve evitar a execução de binários estrangeiros logo após compilá-los.

Além disso, é mais maduro com autotools.

Eu recebi meu pacote para compilação cruzada de forma bastante rápida.

apt-get build-dep -aarmhf foo-pkg
apt-get source foo-pkg
cd foo-pkg-*
dpkg-buildpackage -aarmhf
    
por user72421 26.07.2012 / 19:43