Como posso fazer a compilação cruzada no Raspberry Pi usando o Clang / LLVM?

9

Eu gostaria de compilar linguagens da família C (C, C ++, Objective-C e Objective-C ++) no Raspberry Pi usando Clang e LLVM em um computador de construção de uma arquitetura diferente. Como posso fazer isso?

quadriculado
fonte
Se a idéia é construir o seu próprio software de código-fonte (em oposição à construção de pacotes conhecidos a partir do código-fonte e alvo o processador ARM), em seguida, verificar para fora algo como isso será útil.
WineSoaked

Respostas:

3

Acabei de concluir meu artigo, Compilação cruzada para o Raspberry da Sierra , sobre exatamente isso. No Mac OS Sierra, no entanto. Mas para o clang, isso importa um pouco.

Neste artigo, compartilhei experiências (que me custaram alguns dias de sofrimento). Espero que seja util. Em resumo, tudo o que você precisa fazer é especificar o rootfs e o alvo triplo:

path/to/clang --target=arm-linux-gnueabihf --sysroot=/some/path/arm-linux-gnueabihf/sysroot my-happy-program.c  -fuse-ld=lld

Eu adicionei a -fuse-ld=lldopção, porque caso contrário o clang tentará procurar binutils legados.

Stepan Dyatkovskiy
fonte
1

Eu segui este artigo e parece funcionar bem em programas triviais (console / string / material matemático, não há muitos sinalizadores de otimização). Usei a versão 1.19 do crosstool-ng em um laptop x86-64 executando o ZenWalk 7.0

Também parece haver esse post na SO, o que pode ser útil (ainda não o li completamente).

Bhargav Bhat
fonte
O OP pediu 'Clang e LLVM'
drudru 22/08/19