Come posso eseguire la compilazione incrociata con Raspberry Pi usando Clang / LLVM?


9

Vorrei compilare in modo incrociato i linguaggi della famiglia C (C, C ++, Objective-C e Objective-C ++) sul Raspberry Pi utilizzando Clang e LLVM su un computer di build con un'architettura diversa. Come posso farlo?


Se l'idea è quella di costruire il proprio software dal codice sorgente (in contrasto con la costruzione di pacchetti noti dal codice sorgente e la destinazione del processore ARM), quindi controllando qualcosa di simile a questo sarà utile.
WineSoaked

Risposte:


3

Ho appena completato il mio articolo, Cross compilation per Raspberry di Sierra , su questa cosa. Sotto Mac OS Sierra però. Ma per clang importa un po '.

In questo articolo ho condiviso l'esperienza (che mi è costata alcuni giorni di sofferenza). Spero che sia utile. In breve, tutto ciò che devi fare è specificare i rootfs e il triplo target:

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

Ho aggiunto l' -fuse-ld=lldopzione, perché altrimenti clang proverà a cercare binutils legacy.


1

Ho seguito questo articolo e sembra funzionare bene per programmi banali (console / string / roba matematica, non molti flag di ottimizzazione). Ho usato la versione 1.19 di crosstool-ng su un laptop x86-64 con ZenWalk 7.0

Sembra che ci sia anche questo post su SO, che potrebbe essere utile (non l'ho ancora letto completamente).


L'OP ha chiesto "Clang e LLVM"
drudru il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.