めまいプログラマーの徒然

小脳出血でめまいをおこしている プログラマの忘備録

Go クロスコンパイル

Go 言語にはクロスコンパイルの機能が備わっているので同じソースから ARM 用の実行プログラムを作ってみます。

 おなじみの New3 フォルダーにある main.go です。

f:id:xskawabe:20160518143403p:plain

 設定を変えるのは ↓ の system となっているのをターゲットに合わせて変更するだけです。今回は Raspberry Pi B+ をターゲットとしました。

f:id:xskawabe:20160518143528p:plain

cross-arm6 の内容は以下の通りです。

 f:id:xskawabe:20160518145313p:plain

New3 を cross-arm6 でビルドすると New3 (ELF形式)のファイルが出来上がりますので、そのファイルを Raspberry Pi B+ に転送します。今回は TeraTermSSH で接続していますので ファイルメニューの SSH SCP... を使って転送します。

f:id:xskawabe:20160518145819p:plain

転送しただけでは実行権限がないので付加して、実行します。

f:id:xskawabe:20160518145834p:plain

Raspberry Pi 上で実行できました。