在Linux交叉编译出适用于树莓派ARM架构的可执行程

一、环境介绍:

Linux:

树莓派:

二、交叉编译器下载

下载命令:git clone git://github.com/raspberrypi/tools.git

下载解压后是一个tools目录,里面是这样的:

我们进入到arm-bcm2708,看到gcc-linaro-arm-linux-gnueabihf-raspbian / gcc-linaro-arm-linux-gnueabihf-raspbian-x64(32位选前面的,64位选后面的)进入目录,把里面的bin目录加入PATH环境变量。

可以看到里面内容如下:

三、交叉编译

环境变量加好后,进行交叉编译,和gcc/g++一样使用。

编译:arm-linux-gnueabihf-gcc main.c     

生成:a.out

我们在linux运行一下,发现报错:

再用命令看一下具体的参数:readelf -h a.out

可以看到,架构变成了ARM,此时可以移植到树莓派运行。

四,移植

方式:teamview、U盘,filezilla都可以。

移植过去需要给a.out加上可写的权限:chmod +x a.out,再运行即可成功!

遇到什么问题欢迎交流,不足之处还请指教,相互学习。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/1a7d7fb256b66ccb9934303da1b16bf7.html