如何更改我正在使用的 GCC 版本?为什么尽管 bash 告诉我找不到 gcc 命令,GCC 似乎仍然可以工作?

如何更改我正在使用的 GCC 版本?为什么尽管 bash 告诉我找不到 gcc 命令,GCC 似乎仍然可以工作?

我试图跟随介绍在树莓派上使用 C 语言进行裸机编程的教程。它建议的第一件事就是安装 gcc 4.7 工具链,而不是我当前安装的 4.8 版本。尽管我进行了所有的谷歌搜索,但我仍然无法完成这项工作。

我尝试使用该update-alternatives命令,选择了 gcc-4.7,但没有成功。该命令gcc遇到bash: gcc: command not found错误。所以我显然不能使用gcc -vor gcc --version

每当我运行生成可用内核映像文件的构建脚本时,该命令都会显示它已使用 的arm-none-eabi4.8 版本。我完全不确定如何使用 4.7 版本来代替它。

以下是该特定脚本的内容,然后是我运行它时的输出。

#!/bin/sh

arm-none-eabi-gcc -O0 -DRPIBPLUS -mfpu=vfp -mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s -nostartfiles -g armc-03.c -o kernel.elf
arm-none-eabi-objcopy kernel.elf -O binary kernel.img

和输出:

/usr/lib/gcc/arm-none-eabi/4.8/../../../arm-none-eabi/bin/ld: warning: cannot find entry symbol _start; defaulting to 0000000000008000

/4.8/是我希望您能从该命令中得到的信息,尽管我认为它会抛出该警告,因为我使用的是“意外”编译器。 (有趣的是,当我在 Pi 上测试它时,它不起作用)

在这种情况下,如何在树莓派上编译C代码以用于裸机编程时使gcc使用4.7版本?

我想补充一点,标准./configuremakemake install命令也不起作用。当我cd进入解压缩的 tarball 的目录时,运行./configure会出现“没有此类文件或目录”错误。

相关内容