¿Cómo puedo hacer una compilación cruzada a Raspberry Pi usando Clang / LLVM?

9

Me gustaría compilar de forma cruzada los lenguajes de la familia C (C, C ++, Objective-C y Objective-C ++) a la Raspberry Pi usando Clang y LLVM en una computadora de compilación de una arquitectura diferente. ¿Cómo puedo hacer esto?

fouric
fuente
Si la idea es crear su propio software a partir del código fuente (en lugar de crear paquetes conocidos a partir del código fuente y apuntar al procesador ARM), entonces será útil verificar algo como esto .
WineSoaked

Respuestas:

3

Acabo de completar mi artículo, Compilación cruzada para Raspberry de Sierra , sobre exactamente esto. Sin embargo, bajo Mac OS Sierra. Pero para el sonido metálico importa un poco.

En este artículo he compartido experiencias (lo que me costó algunos días de sufrimiento). Espero que te sea útil. En resumen, todo lo que tiene que hacer es especificar rootfs y target triple:

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

Agregué la -fuse-ld=lldopción, porque de lo contrario clang intentará buscar binutils heredados.

Stepan Dyatkovskiy
fuente
1

Seguí este artículo y parece funcionar bien para programas triviales (consola / cadena / cosas de matemáticas, no muchas banderas de optimización). Usé la versión 1.19 de crosstool-ng en una computadora portátil x86-64 con ZenWalk 7.0

También parece haber esta publicación en SO, lo que podría ser útil (aún no lo he leído completamente).

Bhargav Bhat
fuente
El OP solicitó 'Clang y LLVM'
drudru