Goのクロスコンパイルに関して
Goのクロスコンパイルができるように設定しました。 参考にさせていただいた素晴らしいエントリーがあるのでそちらを紹介します。
このスクリプトは build をするための shell の関数を作ってくれるのですが、 zsh となんか相性が悪いので使ってません。環境変数だけなんで、適当に自分で shell を書く程度で間に合いそうです。
と書いてあったので適当にシェルスクリプトを書いておきました。
naclをGOOSに指定して実行すると、普通にこけるのでシェルスクリプト内のリストから外しています。 (2014/08/24 現在) naclを指定した場合は以下の通りエラーが起きます。 必要としてないのであえて深追いしてないです。。。
go tool dist: open /usr/local/go/src/pkg/runtime/defs_nacl_amd64.h: No such file or directory
golang-crosscompile もnaclをサポートから外してるようです。
remove support for nacl/*, fixes #18 (again) · 9b2d5bd · davecheney/golang-crosscompile · GitHub
また、クロスコンパイル時、 -o
オプションでファイル名を指定できるようです。C言語と同じですね。
GOOS=windows GOARCH=amd64 go build -o main-windows-x86_64.exe main.go