作者: 刘天明
博客链接: http://blog.csdn.net/bellskinling
转载请注明出处.
本博客介绍如何编译Rust for arm版本,并编译出能够运行在arm上的二进制Rust程序.
首先,下载Rustc-1.0.0-stable, 解压, 进入解压后的目录中, 解压后的目录结构如图所示:
注意,编译arm版本的Rust时,需要使用到arm的交叉编译器, 我使用的交叉编译工具是arm-linux-gnueabi-gcc, 版本为4.8.3.
准备好交叉编译器后,然后根据自己的交叉编译器的类型修改./mk/cfg/下的arm-unknown-linux-gnueabi.mk或arm-unknown-linux-gnueabihf.mk.
其中"gnueabi"表示交叉编译工具是软件浮点(soft-float), "gnueabihf"表示交叉编译工具支持硬件浮点(hard-float), 读者需要根据自己的工具链进行修改.例如我的工具链是arm-linux-gnueabi-gcc, 不支持硬件浮点的,于是我需要修改文件./mk/cfg/arm-unknown-linux-gnueabi.mk.
打开./mk/cfg/arm-unknown-linux-gnueabi.mk, :
vim ./mk/cfg/arm-unknown-linux-gnueabi.mk
文件的第一行是"CROSS_PREFIX_arm-unknown-linux-gnueabi=arm-linux-gnueabi- ", 表示编译arm版本是所使用的交叉编译器的前缀, 因为我的交叉编译器是arm-linux-gnueabi-gcc, 正好和默认值一样,因此不需要修改, 读者可以根据自己的工具链进行相应的修改, 再次不再赘述.