Ubuntu で Raspberry Pi 用にクロスコンパイルするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-17 07:22:03
オリジナル
170 人が閲覧しました

How to Cross-Compile for Raspberry Pi on Ubuntu?

Ubuntu での Raspberry Pi のクロスコンパイル

Ubuntu で Raspberry Pi のクロスコンパイルを有効にするには、次の前提条件パッケージ:

apt-get install git rsync cmake libc6-i386 lib32z1 lib32stdc++6
ログイン後にコピー

ツールチェーンを取得します

ホーム ディレクトリに raspberrypi という名前のフォルダーを作成し、Git を使用してツールチェーンをダウンロードします:

git clone git://github.com/raspberrypi/tools.git
ログイン後にコピー

を選択してくださいコンパイラー

raspberrypi/tools フォルダー内の gcc-linaro-arm-linux-gnueabihf-raspbian ツールチェーンを選択します。

コンパイラーを PATH に追加します

.bashrc ファイルを編集し、次の内容を追加します行:

export PATH=$PATH:$HOME/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
ログイン後にコピー

PATH の変更をロードします

ターミナル セッションを再起動するか、 を実行します。 ~/.bashrc を使用して、PATH の変更を適用します。

コンパイラーを確認する

arm-linux-gnueabihf-gcc -v を実行して、コンパイラーのインストールを確認します。選択したツールチェーンに関する情報が表示されます。

Rootfs および CMake 構成の作成

共有ライブラリが欠落している問題に対処するには、次の追加手順に従います。

  1. raspberrypi 内に rootfs フォルダーを作成します
  2. rsync を使用して、Raspberry Pi から /lib ディレクトリと /usr ディレクトリを Ubuntu マシンの rootfs ディレクトリにコピーします。

    rsync -rl --delete-after --safe-links [email protected]:/{lib,usr} $HOME/raspberrypi/rootfs
    ログイン後にコピー
  3. CMake を作成します。 raspberrypi の pi.cmake という名前の設定ファイルフォルダー:
SET(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_SYSTEM_VERSION 1)
SET(CMAKE_C_COMPILER $ENV{HOME}/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc)
SET(CMAKE_CXX_COMPILER $ENV{HOME}/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++)
SET(CMAKE_FIND_ROOT_PATH $ENV{HOME}/raspberrypi/rootfs)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
ログイン後にコピー

CMake によるクロスコンパイル

CMake を使用してプログラムをクロスコンパイルするには、CMake を呼び出すときに CMAKE_TOOLCHAIN_FILE 変数を指定します:

cmake -D CMAKE_TOOLCHAIN_FILE=$HOME/raspberrypi/pi.cmake ...
ログイン後にコピー

以上がUbuntu で Raspberry Pi 用にクロスコンパイルするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート