ラズパイ用のRustのバイナリをMacでクロスコンパイルしたい。crossが便利だった。

Mac上で、Rust言語のプログラムを書いてラズパイ用のバイナリを生成したい(なるべくラズパイでビルドしたくない)。
Rustなのでクロスコンパイルできるのですが、Macにそれなりにラズパイ用のリンカとか入れないといけないし、テスト実行もできない...当たり前だ。
そんな時これだ。

github.com

環境構築も楽だし(ただしdockerはいるが)、実行までできちゃうぞ。

# インストール
$ cargo install cross
# ビルド
$ cross build --target armv7-unknown-linux-gnueabihf
# テスト!
$ cross test --target armv7-unknown-linux-gnueabihf
# 実行!!
$ cross run --target armv7-unknown-linux-gnueabihf

やったー。あっ、でもラズパイのGPIOとか使ってるコードは実行できないな。これまた、当たり前だ。