arm-none-linux-gnueabi-gcc 未找到命令

在Ubuntu环境下使用sudoarm-none-linux-gnueabi-gcc进行交叉编译时遇到了找不到命令的问题,通过修改Makefile文件并尝试去掉sudo后,出现了权限被拒绝的错误。解决方法是切换到root用户,执行source /etc/profile,然后重新运行编译命令,成功解决了问题。
AI助手已提取文章相关产品:

使用sudo arm-none-linux-gnueabi-gcc test.c -o test进行编译,出错了,报错如下:
arm-none-linux-gnueabi-gcc未找到命令
根据网上的提示更改了kernel文件下修改交叉编译链的Makefile文件,修改如下:
改为arm-none-linux-gnueabi-gcc的绝对路径
然后去掉sudo,再运行一次,结果这回显示了新的错误
/usr/local/arm-2009q1/bin/…/lib/gcc/arm-none-linux-gnueabi/4.3.3/…/…/…/…/arm-none-linux-gnueabi/bin/ld: cannot open output file test: Permission denied
collect2: ld returned 1 exit status
在这里插入图片描述
解决方法:
$su
输入密码:
root@ubuntu:source /etc/profile
root@ubuntu:arm-none-linux-gnueabi-gcc test.c -o test
结果问题就解决了。
在这里插入图片描述

您可能感兴趣的与本文相关内容

### 安装 `arm-none-linux-gnueabi-gcc` 交叉编译工具链 安装 `arm-none-linux-gnueabi-gcc` 交叉编译工具链是为 ARM 架构开发 Linux 应用程序或嵌入式系统的重要步骤。以下是详细的安装步骤,涵盖从下载工具链到配置环境变量的全过程。 --- #### 1. 选择合适的工具链版本 `arm-none-linux-gnueabi-gcc` 是适用于 ARM 架构、使用 EABI(Embedded Application Binary Interface)的 GCC 工具链。常见的工具链发行版包括: - **Linaro GCC**:提供优化的 ARM 工具链,适合现代 ARM 架构。 - **ARM GNU Toolchain**:由 ARM 官方维护,适用于最新的 ARM 架构。 - **CodeSourcery**:早期广泛使用的工具链,但已被 Linaro 取代。 根据项目需求选择合适的版本。例如,Linaro 提供的工具链通常命名为 `gcc-arm-xxx`,例如 `gcc-arm-none-linux-gnueabi` 或 `gcc-arm-linux-gnueabihf`。 --- #### 2. 下载工具链 访问以下链接下载适合的工具链: - [ARM GNU Toolchain](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads) - [Linaro GCC](https://www.linaro.org/downloads/) 选择与目标平台匹配的版本,例如 `gcc-arm-12.2.rel1-x86_64-arm-none-linux-gnueabi.tar.xz`。 使用 `wget` 下载: ```bash wget https://example.com/path/to/gcc-arm-none-linux-gnueabi.tar.xz ``` --- #### 3. 解压工具链 将下载的工具链解压到目标目录,例如 `/opt/toolchains`: ```bash sudo mkdir -p /opt/toolchains sudo tar -xvf gcc-arm-none-linux-gnueabi.tar.xz -C /opt/toolchains ``` 解压后,工具链通常位于 `/opt/toolchains/gcc-arm-none-linux-gnueabi-12.2-rel1`。 --- #### 4. 配置环境变量 为了在终端中直接使用 `arm-none-linux-gnueabi-gcc`,需要将其添加到 `PATH` 环境变量中。编辑 `~/.bashrc` 或 `/etc/profile.d/arm-gcc.sh` 文件: ```bash export PATH=/opt/toolchains/gcc-arm-none-linux-gnueabi-12.2-rel1/bin:$PATH ``` 应用更改: ```bash source ~/.bashrc ``` 验证安装: ```bash arm-none-linux-gnueabi-gcc --version ``` 如果输出类似以下内容,则表示安装成功: ``` arm-none-linux-gnueabi-gcc (GCC) 12.2.1 20220924 ``` --- #### 5. 验证交叉编译功能 创建一个简单的 C 程序进行测试: ```c // test.c #include <stdio.h> int main() { printf("Hello ARM!\n"); return 0; } ``` 使用交叉编译器编译: ```bash arm-none-linux-gnueabi-gcc -o test test.c ``` 检查生成的可执行文件是否为 ARM 架构: ```bash file test ``` 输出应显示: ``` test: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 3.2.0, not stripped ``` --- #### 6. 常见问题与解决方法 - **命令未找到**:确保 `PATH` 环境变量正确配置,并使用 `which arm-none-linux-gnueabi-gcc` 检查路径。 - **权限问题**:使用 `sudo` 进行解压和路径配置,确保用户有权限访问工具链目录。 - **依赖缺失**:某些系统可能需要安装额外的库,如 `libncurses5`、`libstdc++6` 等。 --- #### 7. 使用包管理器安装(可选) 在某些 Linux 发行版中,可以通过包管理器直接安装工具链: ```bash sudo apt-get install gcc-arm-linux-gnueabi ``` 此方法适用于快速安装,但版本可能较旧。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值