出现arm-none-linux-gnueabi-gcc: No such file or directory的解决方法

本文介绍了如何解决使用arm-none-linux-gnueabi-gcc时遇到的32位与64位系统不兼容的问题,并提供了解决方案,通过安装特定的32位库文件来确保编译器正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们有时候输入arm-none-linux-gnueabi-gcc  -v 会提示

bash: /home/bhj/QtLib/arm-2014.05/bin/arm-none-linux-gnueabi-gcc: No such file or directory

问题是32位于64位不兼容造成的。解决方法如下:

sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0


再执行arm-none-linux-gnueabi-gcc  -v ,会有如下信息,说明OK了。

Using built-in specs.
COLLECT_GCC=arm-none-linux-gnueabi-gcc
COLLECT_LTO_WRAPPER=/home/bhj/QtLib/arm-2014.05/bin/../libexec/gcc/arm-none-linux-gnueabi/4.8.3/lto-wrapper
Target: arm-none-linux-gnueabi
Configured with: /scratch/maciej/arm-linux-2014.05-rel/src/gcc-4.8-2014.05/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --enable-extra-sgxxlite-multilibs --with-arch=armv5te --with-gnu-as --with-gnu-ld --with-specs='%{save-temps: -fverbose-asm} %{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables} -D__CS_SOURCERYGXX_MAJ__=2014 -D__CS_SOURCERYGXX_MIN__=5 -D__CS_SOURCERYGXX_REV__=29' --enable-languages=c,c++ --enable-shared --enable-lto --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery CodeBench Lite 2014.05-29' --with-bugurl=https://sourcery.mentor.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/maciej/arm-linux-2014.05-rel/install/opt/codesourcery/arm-none-linux-gnueabi/libc --with-gmp=/scratch/maciej/arm-linux-2014.05-rel/obj/pkg-2014.05-29-arm-none-linux-gnueabi/arm-2014.05-29-arm-none-linux-gnueabi.extras/host-libs-i686-pc-linux-gnu/usr --with-mpfr=/scratch/maciej/arm-linux-2014.05-rel/obj/pkg-2014.05-29-arm-none-linux-gnueabi/arm-2014.05-29-arm-none-linux-gnueabi.extras/host-libs-i686-pc-linux-gnu/usr --with-mpc=/scratch/maciej/arm-linux-2014.05-rel/obj/pkg-2014.05-29-arm-none-linux-gnueabi/arm-2014.05-29-arm-none-linux-gnueabi.extras/host-libs-i686-pc-linux-gnu/usr --with-isl=/scratch/maciej/arm-linux-2014.05-rel/obj/pkg-2014.05-29-arm-none-linux-gnueabi/arm-2014.05-29-arm-none-linux-gnueabi.extras/host-libs-i686-pc-linux-gnu/usr --with-cloog=/scratch/maciej/arm-linux-2014.05-rel/obj/pkg-2014.05-29-arm-none-linux-gnueabi/arm-2014.05-29-arm-none-linux-gnueabi.extras/host-libs-i686-pc-linux-gnu/usr --disable-libgomp --disable-libitm --enable-libatomic --disable-libssp --enable-poison-system-directories --with-build-time-tools=/scratch/maciej/arm-linux-2014.05-rel/install/opt/codesourcery/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/maciej/arm-linux-2014.05-rel/install/opt/codesourcery/arm-none-linux-gnueabi/bin SED=sed
Thread model: posix
gcc version 4.8.3 20140320 (prerelease) (Sourcery CodeBench Lite 2014.05-29) 

### 解决 `make gcc No such file or directory` 错误 当遇到 `gcc: No such file or directory` 的错误时,这通常意味着系统无法找到指定的 GCC 编译器或其路径配置存在问题。以下是几种可能的原因及解决方案: #### 1. 文件不存在或路径错误 如果文件确实不存在于预期置,则需要确认安装过程是否完成以及文件的具体置。 对于特定版本的交叉编译工具链如 `arm-none-linux-gnueabi-gcc`,应确保该工具已正确下载并解压到适当的置[^1]。可以尝试重新安装此工具链来解决问题。 #### 2. 环境变量设置不当 即使已经设置了环境变量,在某些情况下仍可能出现找不到命令的情况。建议检查 PATH 变量中是否包含了工具链所在的目录,并验证这些更改是否生效。 可以通过以下方式临时添加路径至当前会话: ```bash export PATH=/path/to/toolchain/bin:$PATH ``` 为了永久保存这一改动,可将其加入 `.bashrc` 或者其他 shell 配置文件中。 #### 3. 符号链接缺失 有时由于依赖库的变化可能会导致旧版程序寻找不到所需的共享对象文件。创建合适的符号链接可以帮助解决这类问题。例如,针对 libmpfr 库的不同版本之间差异所引发的问题,可通过如下方法建立软连接[^4]: ```bash sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4 ``` #### 4. 扩展名隐藏或其他命名冲突 另一个潜在原因是目标文件的实际名称与其期望不符——比如因为扩展名被隐藏而造成误解。务必仔细核对文件的真实名字及其所在目录下的属性,必要时调整文件名以匹配构建脚本的要求[^5]。 通过以上措施应该能够有效处理大多数由 "No such file or directory" 导致的 GCC 编译失败情况。当然具体情况还需具体分析,希望上述指导能帮助定并修复问题根源。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值