/bin/bash: arm-none-linux-gnueabi-gcc: command not found

把交叉编译工具链相应的环境变量已经配置好,但是使用"arm-linux-gcc -v"命令,总显示“command not found”,最终确定的原因就是相应的xxx-xxx-gcc 命令不能在64位机器上执行,所以导致报错,这是我的原因。

网上给出了三种情况如下:

一、arm-none-linux-gnueabi-gcc不能再64位系统下下编译ARM的32位库的问题解决方法如下:

#我是逐条安装的
sudo apt-get install libgl1-mesa-dri:i386
sudo apt-get install ia32-libs-multiarch:i386
sudo apt-get install ia32-libs-multiarch
apt-get update
sudo apt-get install ia32-libs

安装完成之后,我的问题就解决了。
二、交叉编译工具没有写入环境变量或写错,重新写入环境变量
将交叉编译工具 bin 目录添加到系统 PATH 环境变量中:
export PATH=$PATH:/opt/fsl-linaro-toolchain/bin
也可修改~/.bashrc 文件, 按如下方式在 PATH 变量中增加交叉编译工具链的安装路径,然后运行/.bashrc 文件或者重启系统,使设置生效。
三、/bin/bash缺少arm-none-linux-gnueabi-gcc链接符,向其建立链接如下:

sudo ln -s /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-gcc /usr/bin/arm-none-linux-gnueabi-gcc
(sudo ln -s 源目录 /usr/bin/链接名)
#注:除了arm-none-linux-gnueabi-gcc,其他的遇到同样错误一样使用链接如我的链接如下的链接:
sudo ln -s /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-gcc /usr/bin/arm-none-linux-gnueabi-gcc
sudo ln -s /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-ar /usr/bin/arm-none-linux-gnueabi-ar
sudo ln -s /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-ld /usr/bin/arm-none-linux-gnueabi-ld
sudo ln -s /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-objdump /usr/bin/arm-none-linux-gnueabi-objdump
sudo ln -s /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-objcopy /usr/bin/arm-none-linux-gnueabi-objcopy
sudo ln -s /opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-nm /usr/bin/arm-none-linux-gnueabi-nm

其他:

向Makefile添加编译路径

在makefile的开头添加本机的编译路径
ARCH=arm
CROSS_COMPILE=/opt/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-
第一句表示变为arm,第二句表示交叉编译的编译器路径(自己交叉编译的安装路径)

编译的其他问题

当以上三个设置都仍然出现错误,出现 hello_world.srec 的错误编译失败,首先进入该编译的编译路径(一般为出现错误时,编译器进去的文件目录),修改
sudo gedir Makefile
(不是主目录的makefile,我的在uboot-imx/examples/standalone下)
将原文件的include $(TOPDIR)/config.mk下开始的内容:
ELF = hello_world
SREC = hello_world.srec
BIN = hello_world.bin
改为
ELF = hello_world
SREC = hello_world.o
BIN = hello_world.o hello_world
重新编译后成功如下图
编译成功

猜你喜欢

转载自blog.csdn.net/weixin_38293850/article/details/108669201