我正在尝试在我的FOX G20 V板上编译内核。为此,我必须在其中一个步骤中指定交叉编译器
arm-linux-gnueabi
。命令是:
因此,为了让编译器知道交叉编译器的可执行文件在哪里,我通过执行以下命令将其指定到路径中:make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- at91-ariag25.dtb
当我执行export PATH=$PATH:/home/path_goes_here/bin
echo $PATH
时,我得到了交叉编译器的正确路径。然而,现在当我进行项目的编译时,我收到以下错误提示:
但是当我不指定编译器的路径时,编译可以正常进行,但是在达到交叉编译器的时候,它会给我以下错误提示:make: command not found
我认为当我将系统路径更改为交叉编译器时,我的编译器可能不在系统路径中。因此,如何将make和交叉编译器都添加到系统路径中呢? 编辑 我的交叉编译器实际上是make: arm-linux-gnueabi-gcc: Command not found
arm-linux-gnueabi-gcc-4.7
,而不是arm-linux-gnueabi-gcc
。然而,当我通过执行CROSS_COMPILE=arm-linux-gnueabi-
指定交叉编译器时,我会收到以下错误提示:
因为它没有找到应该寻找的make: arm-linux-gnueabi-gcc: Command not found
arm-linux-gnueabi-gcc
。但是当我指定CROSS_COMPILE=arm-linux-gnueabi-gcc-4.7
时,它会在末尾添加gcc
并给出以下结果:
编辑2 我只是将交叉编译器重命名,这似乎起作用了。但是现在,我收到以下错误提示:make: arm-linux-gnueabi-gcc-4.7gcc: Command not found
arm-linux-gnueabi-gcc: error trying to exec 'cc1': execvp: No such file or directory
readelf -a /path/to/arm-linux-gnueabi-gcc | grep "Requesting"
的结果吗?如果程序解释器不在该路径中,你可能需要将整个路径移动到正确的位置。 - ymonadexport PATH=$PATH:/home/dico/gcc-4.7-arm-linux-gnueabi_4.7.2-1/usr/bin
,但是当我尝试编译时,仍然出现arm-linux-gnueabi-gcc: Command not found
。 - Adamarm-linux-gnueabi-gcc
的符号链接,指向你实际的交叉编译器arm-linux-gnueabi-gcc-4.7
。其他工具,如ld
、as
等也可能需要创建符号链接。 - Lee Duhem