使用しているGCCのバージョンをどのように変更しますか? bashでgccコマンドが見つからないことを伝えても、GCCが機能しているように見えるのはなぜですか?

使用しているGCCのバージョンをどのように変更しますか? bashでgccコマンドが見つからないことを伝えても、GCCが機能しているように見えるのはなぜですか?

フォローしてみました。これRaspberry PiでベアメタルプログラミングにC言語を使用する方法のチュートリアルを紹介します。それが提案した最初のものは、現在インストールされているバージョン4.8の代わりにgcc 4.7ツールチェーンをインストールすることでした。すべてのインターネット検索にもかかわらず、まだ機能していません。

update-alternativesgcc-4.7を選択してコマンドを試しましたが、成功しませんでした。コマンドにエラーがgcc発生しました。だから私は明らかにorをbash: gcc: command not found使用することはできません。gcc -vgcc --version

使用可能なカーネルイメージファイルを生成するビルドスクリプトを実行するたびに、コマンドは使用したバージョン4.8を表示しますarm-none-eabi。 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でテストしたときに動作しませんでした。)

この場合、Raspberry Piでベアメタルプログラミング用のCコードをコンパイルするときにgccにバージョン4.7を使用させるにはどうすればよいですか?

./configureその標準を追加したいのですが、コマンドmakemake install機能しません。cd解凍されたtarballのディレクトリに移動すると、実行時に「./configure該当するファイルまたはディレクトリが見つかりません」というエラーが発生します。

関連情報