私はコンパイルしたいと思っており、最新の最高のツールを使用したいと思います。
実際、最新の最高のツールを自分で作成する必要はありません。ラズベリーパイツールGitHubのリポジトリ、あなたは見つけるでしょうX86_64
し、x686
クロスコンパイルのソフトウェアのためのツールチェーンを。
x86-linux64-cross-arm-linux-hardfp
ツールチェーンを使用することをお勧めします。ツールチェーンを使用すると、ハード浮動小数点用にコンパイルされ、システムがはるかに高速になります。
$ arm-bcm2708hardfp-linux-gnueabi-gcc --version
arm-bcm2708-linux-gnueabi-gcc-4.5.1 (Broadcom-2708) 4.5.1
Copyright (C) 2010 Free Software Foundation, Inc.
注:既存のカーネルを使用している場合は、カーネルに一致するツールチェーンを使用する必要があります。HardFPアプリケーションは、SoftFPカーネルでは機能しません。
ツールチェーンを使用するには、リポジトリをチェックアウトするだけです:
git clone https://github.com/raspberrypi/tools.git --depth 1
この--depth
パラメーターは、リポジトリー履歴もダウンロードされるのを待つ必要がないことを意味します(使用しないため)。
次に、バイナリをPATH変数に追加します。
export PATH=~/tools/arm-bcm2708/x86-linux64-cross-arm-linux-hardfp/bin:$PATH
または、PATHを永続化するには:
echo "export PATH=~/tools/arm-bcm2708/x86-linux64-cross-arm-linux-hardfp/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
ツールチェーンでコンパイルするには、CROSS_COMPILE
パラメーターを追加できます。たとえば、次を実行する場合make
:
make CROSS_COMPILE=arm-bcm2708hardfp-linux-gnueabi-
または、これを簡単にするために、変数をbashrc
再度保存できます。
echo "export TARGET=arm-bcm2708hardfp-linux-gnueabi" >> ~/.bashrc
source ~/.bashrc
コンパイル時に変数を使用します:
make CROSS_COMPILE=${TARGET}