Eu tenho um aplicativo grande que eu 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 do armhf PandaBoard (isso leva muito tempo)
Eu gostaria de compilar o aplicativo no host i386 para executar em um destino como o PandaBoard para concluir as 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 de empacotar o software.
Qual é a maneira recomendada de obter uma compilação cruzada bem-sucedida?
software-installation
cross-compilation
Jonathan Cave
fonte
fonte
Respostas:
https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/UsingMultiArch
https://wiki.ubuntu.com/MultiarchCross
O Ubuntu possui uma cadeia de ferramentas cruzadas,
apt-get install gcc-arm-linux-gnueabihf
mas o trabalho na cadeia de ferramentas de última geração é discutido aqui: http://gsoc.sitedethib.com/posts/apt-get_install_gcc-4.7-arm-linux-gnueabihf/Há várias soluções alternativas necessárias neste momento. Por exemplo, se você usar o link indireto (coberto na página wiki do linaro). Você também deve evitar executar binários estrangeiros logo após compilá-los.
Além disso, é realmente mais maduro com as ferramentas automáticas.
O meu pacote foi compilado rapidamente.
fonte