在嵌入式开发里头,以及Linux系统管理当中,碰到“arm linux gcc命令未找到”这种错误,那可是相当常见的状况。这般问题,通常来讲,就意味着系统没有正确去安装,或者是没有对ARM架构的交叉编译工具链进行配置。身为长期从事嵌入式开发工作的工程师,我深切知晓这个错误给开发进度带来的影响,下面就会全面剖析这个问题以及它的解决办法。

为什么需要安装arm linux gcc

在基于x86架构的计算机之上开展ARM架构的应用程序开发工作时,势必要运用交叉编译工具链。这是由于本地编译器仅仅能够生成当下架构的可执行文件,然而交叉编译器却准许我们于一种架构之上编译另一种架构的代码。ARM Linux GCC便是专门针对这种场景而设计的工具链。

arm linux gcc 命令未找到_linux查找命令文件的路径_linux命令找不到

针对于嵌入式开发而言,目标设备一般资源受限,没办法在设备自身那儿开展编译。交叉编译工具链致使我们能够在性能更为强劲的开发主机之上编译代码,随后把生成出的可执行文件布置到目标ARM设备上去运行。这般过程极大地提升了开发效率,它属于嵌入式开发的标准做法 。

如何选择适合的交叉编译工具链

在挑选交叉编译工具链之际,得要考量目标设备确切的架构模样以及所在的系统环境情况。平常能见到的选择项目有arm-linux-gnueabi、arm-linux-gnueabihf、aarch64-linux-gnu等等。它们之间存有的区别在于所运用的ABI以及浮点运算的处理办法,这就得依据目标设备的硬件特性去做出选择。

linux命令找不到_arm linux gcc 命令未找到_linux查找命令文件的路径

对Cortex -- A系列处理器来讲linux操作系统安装,一般会选择gnueabihf变体,该变体支持硬件浮点运算单元。要是属于较老的ARM9或ARM11芯片话,或许得选择gnueabi版本。在进行选择以前,颇为适宜查看设备的技术文档,或者直接于设备上运行“cat /proc/cpuinfo”以获取精准的架构信息。

如何安装arm linux gcc工具链

若处在Ubuntu系统或者Debian系统之上,能够运用apt包管理器径直去安装。其命令格式是”sudo apt install gcc-arm-linux-gnueabihf”,当中后缀依据具体所需而变动。待安装完毕之后,该工具链会自动被增添至系统路径里,能够直接于终端进行调用。

针对别的Linux发行版本,或许得从ARM官方站点或者芯片供应商那儿去下载预先编译好的工具链。下载完毕之后要解压到指定的目录,并且要手动去配置环境变量。一般情况下建议把工具链安装在/opt目录里,接着通过修改.bashrc或者.profile文件来对PATH环境变量进行设置。

如何配置环境变量解决命令未找到

导致“命令未找到”的常见缘由乃是环境变量配置有误,要去查验PATH变量是不是涵盖了工具链的安装路径,能够运用“echo $PATH”命令去瞅一瞅当前路径设置情形,一定要确保涵盖了交叉编译器的bin目录 。

除去PATH变量外,还得设置CROSS_COMPILE环境变量,这于众多构建系统而言是必要的,在bash里能够执行”export CROSS_COMPILE=arm-linux-gnueabihf-“,为便利使用,提议把这些设置写入用户的shell配置文件内,如此每次开启终端时都会自动加载 。

arm linux gcc 命令未找到_linux命令找不到_linux查找命令文件的路径

如何验证arm linux gcc安装是否成功

在完成安装之后,能够借助”arm-linux-gnueabihf-gcc --version”此命令去查验安装是不是成功。倘若安装无误arm linux gcc 命令未找到,终端就会展示编译器的版本相关信息。这些信息涵盖了GCC版本号、构建日期以及配置参数等等。

更多的验证办法是去创作一个简易的测试程序,制造出有一个装有” hello world”的C源文档资料,借助交叉编译器来予以编译,接着采用”file”命令去查看所创建的可执行文件的架构情形,准确的回馈应当呈现为属于ARM款式的可执行文件之物,这就说明了那一工具链处在正常的功用状态。

如何排查arm linux gcc命令未找到的其他原因

linux查找命令文件的路径_linux命令找不到_arm linux gcc 命令未找到

若已确定工具链被安装然而依旧产生报错情形,没准是权限方面的问题所引发的。去核查该工具链的二进制文件是不是具备可执行的权限,能够运用chmod命令来增添执行权限。此外linux操作系统下载,还得确认所使用的是不是准确的命令名称,不同发行版在命名上大概会存在些许差异。

于64位系统上面,运行32位工具链之际,或许需要去安装额外的兼容库,在Ubuntu之上能够安装libc6 -- i386等软件包,要是问题依旧存在,那就考虑重新安装工具链,或者去尝试其他版本的编译器,有时版本不兼容也会引发各种奇怪的问题 。

于您的那嵌入式开发经历里头arm linux gcc 命令未找到,碰到“arm linux gcc命令未找到”这般错误之际,您是以怎样的方式迅速予以定位,而后又怎样去解决该问题的呢?欢迎于评论区去分享您的那些经验,要是觉着本文存在助益,请点赞并且分享给更多开发者呀!

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复