当前位置:首页>Linux>【嵌入式】交叉编译:在在linux中编译arm平台的执行文件

【嵌入式】交叉编译:在在linux中编译arm平台的执行文件

  • 2026-09-12 21:20:16
【嵌入式】交叉编译:在在linux中编译arm平台的执行文件

@

    需要交叉编译的原因

    gcc编译的文件报错:

    我们把自己写的代码,在Ubuntu里面用gcc编译之后,下载到开发板里面,去运行 然后就报这个错误

    这个错误的原因,你的代码是用gcc编译的,得到的程序是x86-64的架构,跟板子的arm的架构不一致的

    查看文件的格式

     file 文件名

    所以,我们要想在开发板里面去运行程序,需要把这个代码交叉编译成arm架构 交叉编译:在A平台编译的程序,只能在A平台去使用,直接放到B平台是运行不了的,原因就是架构不同,需要将A平台的程序交叉编译成B平台运行的架构,才能在B平台去运行 比如:将Ubuntu编译出来的x86-64架构,编译成arm的架构

    查看交叉编译链这个工具有没有

    arm-linux-gcc -v

    配置交叉编译:

    • 1)下载交叉编译链的工具包 arm-linux-gnueabi-5.4.0.tar.xz  到虚拟机共享文件夹
    • 2)切换到管理员 sudo -s
    • 3)解压压缩包
    tar -xvf arm-linux-gnueabi-5.4.0.tar.xz -C /
    • 4)切换到/usr/local/arm/5.4.0/usr/bin/这个路径下,就可以看到交叉编译链这个工具

    注意:这个交叉编译链的路径一定要放在这个位置

    • 5)打开环境变量编译配置文件
    gedit ~/.bahsrc

    注意:有可能打开时是空白文件,这个时候需要另起窗口重新打开。

    • 6)在最末尾的地方去添加下面这两条配置命令
    export PATH=$PATH:/usr/local/arm/5.4.0/usr/bin
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/arm/5.4.0/usr/lib

    7)保存文件,让它生效

    source ~/.bashrc

    8)去查看有没有这个工具链

    arm-linux-gcc -v

    欢迎大家留言讨论

    欢迎FPGA同行者关注微信公众号FPGA加速者,获取更多精彩

    最新文章

    随机文章