【学习笔记】解决Linux32位编译程序无法在arm64位处理器上运行

(本次实验以Toybrick RK3399ProD实验板为例)

最近学习了嵌入式Linux,在电脑上安装虚拟机运行Linux系统(我使用RHEL 6)

由于虚拟机里安装了arm-Linux,发现在RHEL6里面通过arm-linux-gcc命令编译后的可执行文件在无法在开发板上运行

经过查询,发现是因为arm-Linux-gcc是32位的编译器,而rk3399处理器是64位处理器,经过arm-linux-gcc编译的文件只能在32位处理上运行

解决这个问题需要先安装64位的编译器gcc-linaro-aarch64-linux-gnu-4.9-2014.07_linux

将下载的文件放置在虚拟机的共享目录下,通过解压命令

tar jxvf gcc-linaro-aarch64-linux-gnu-4.9-2014.07_linux.tar.bz2 -C /

注:这里不能直接在共享目录下解压,因为windows不会区分大小写,而Linux严格区分大小写,此时就会将一些文件覆盖掉

解压完成后输入命令

vim /root/.bashrc

按a进入插入模式,在文件末尾添加

export PATH=/gcc-linaro-aarch64-linux-gnu-4.9-2014.07_linux/bin:$PATH

保存退出

输入命令使环境变量

source ~/.bashrc

此时再运行 aarch64-linux-gnu-gcc,就可看到结果 no input files,可知交叉编译器可以运行了

此时编译的文件就可以在板子上使用了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值