加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_池州站长网 (https://www.0566zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

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

发布时间:2023-02-09 13:34:48 所属栏目:Linux 来源:
导读:  最近学习了嵌入式Linux,在电脑上安装虚拟机运行Linux系统(我使用RHEL 6)

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

  经过查
  最近学习了嵌入式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 /
  注:这里不能直接在共享目录下解压linux处理器,因为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,可知交叉编译器可以运行了
 
  此时编译的文件就可以在板子上使用了
 

(编辑:我爱制作网_池州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!