Comment puis-je effectuer une compilation croisée sur le Raspberry Pi à l'aide de Clang / LLVM?

9

Je voudrais compiler de manière croisée des langages de la famille C (C, C ++, Objective-C et Objective-C ++) vers le Raspberry Pi en utilisant Clang et LLVM sur un ordinateur de construction d'une architecture différente. Comment puis-je faire cela?

fouric
la source
Si l'idée est de créer votre propre logiciel à partir du code source (par opposition à la création de packages bien connus à partir du code source et au ciblage du processeur ARM), alors vérifier quelque chose comme ça sera utile.
WineSoaked

Réponses:

3

Je viens de terminer mon article, Cross compilation pour Raspberry from Sierra , sur exactement cette chose. Sous Mac OS Sierra cependant. Mais pour le clang, cela compte un peu.

Dans cet article, j'ai partagé mon expérience (qui m'a coûté quelques jours de souffrance). J'espère que ce sera utile. En bref, tout ce que vous avez à faire est de spécifier rootfs et cible triple:

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

J'ai ajouté une -fuse-ld=lldoption, car sinon, clang essaiera de rechercher les anciens binutils.

Stepan Dyatkovskiy
la source
1

J'ai suivi cet article et il semble fonctionner correctement pour les programmes triviaux (console / chaîne / maths, pas beaucoup de drapeaux d'optimisation). J'ai utilisé la version 1.19 de crosstool-ng sur un ordinateur portable x86-64 exécutant ZenWalk 7.0

Il semble également y avoir ce post sur SO, ce qui pourrait être utile (je ne l'ai pas encore entièrement lu).

Bhargav Bhat
la source
Le PO a demandé «Clang et LLVM»
drudru