如何使用Clang / LLVM交叉编译到Raspberry Pi?


9

我想在不同架构的构建计算机上使用Clang和LLVM将C系列语言(C,C ++,Objective-C和Objective-C ++)交叉编译到Raspberry Pi。我该怎么办?


如果这个想法是从源代码构建自己的软件(而不是从源代码构建知名封装并针对ARM处理器),然后检查出像将是有益的。
WineSoaked

Answers:


3

刚刚完成了我的文章,Sierra的《针对Raspberry的Cross编译》,正是关于这件事。在Mac OS Sierra下。但是对于c来说有点重要。

在本文中,我分享了经验(这使我遭受了几天的痛苦)。希望它会有用。简而言之,您要做的就是指定rootfs并指定三元组:

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

我添加了-fuse-ld=lldoption,因为否则clang会尝试查找旧的binutils。


1

我关注了这篇文章,它似乎对于普通程序(控制台/字符串/数学之类的东西,没有很多优化标志)运行良好。我在运行ZenWalk 7.0 的x86-64笔记本电脑上使用了crosstool-ng版本1.19

SO上似乎也有这篇文章,这可能会有所帮助(尚未完全阅读)。


OP要求提供“ Clang和LLVM”
drudru
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.