Как я могу кросс-компилировать в Raspberry Pi, используя Clang / LLVM?

9

Я хотел бы кросс-компилировать языки семейства C (C, C ++, Objective-C и Objective-C ++) для Raspberry Pi, используя Clang и LLVM на компьютере сборки другой архитектуры. Как я могу это сделать?

fouric
источник
Если идея состоит в том, чтобы создать свое собственное программное обеспечение из исходного кода (в отличие от строительства известных пакетов из исходного кода и ориентации на процессоре ARM), а затем проверить что - то вроде этого будет полезно.
WineSoaked

Ответы:

3

Только что закончил мою статью, Кросс-компиляция для Raspberry из Sierra , именно об этом. Под Mac OS Sierra все же. Но для лязга это мало что значит.

В этой статье я поделился опытом (который стоил мне нескольких дней страданий). Надеюсь, это будет полезно. Короче говоря, все, что вам нужно сделать, это указать rootfs и target triple:

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

Я добавил -fuse-ld=lldопцию, потому что в противном случае Clang будет пытаться найти устаревшие binutils.

Степан Дятьковский
источник
1

Я следил за этой статьей, и она, кажется, отлично работает для тривиальных программ (консоль / строка / математика, не так много флагов оптимизации). Я использовал версию 1.19 crosstool-ng на ноутбуке x86-64 под управлением ZenWalk 7.0

Также кажется, что этот пост в SO, который может быть полезен (еще не полностью прочитал его).

Бхаргав Бхат
источник
ОП попросил «Clang and LLVM»
drudru