配置rk3568交叉编译环境

最近需要在rk3568上开发C++程序,手头有一个Ubuntu18.04的虚拟机环境,要搭建交叉编译环境。看了一下rk3568上gcc的版本是8.3.0。

打开Builds & Downloads | Linaro 来查找交叉编译器,有两种,一种是ARM官方的,下图第一个红框的超链接,另外是Linaro每个月发布的。

Linaro Snapshots没有找到gcc 8.3的交叉编译器,只好去ARM官方的网站查找Downloads | GNU-A Downloads – Arm Developer 这里找到,如下图所示:

选择8.3 2019.03这个版本里面,选择gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz下载,为啥选这个,这个和其他版本有什么区别,我现在没整明白,后续补上。

在ubuntu18上安装,在/usr/local/下新建一个arm文件夹,

sudo mkdir /usr/local/arm

然后将gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz压缩包放到该文件夹下,解压缩

sudo tar -vxf gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz

然后添加相关目录到PATH变量中。

sudo vi /etc/profile

在最后一行添加

export PATH=$PATH:/usr/local/arm/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin

然后重启

reboot

然后安装一些gcc交叉编译器所依赖的库文件

sudo apt install lsb-core lib32stdc++6

然后测试一下,输入以下命令

aarch64-linux-gnu-g++ -v

就会显示当前的gcc编译器版本

编写一个程序hello.c测试一下

#include <stdio.h>


int main(int argc, char *argv[])

{

if (argc = 2) {

printf("hello %s\r\n",argv[1]);

}

else {

printf("hello worled!\r\n");

}

return 0;

}

如果使用Ubuntu自带gcc编译器,编译如下然后用file来测试

再用交叉编译器测试一下,file显示为ARM aarch64文件

将可执行文件拷贝到rk3568的机器上,运行一下。可以运行

后来发现这个rk3568上就带gcc 8.3,难怪用户名是linaro。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值