Go 1.5的交叉編譯很是簡單,基本用法以下:linux
GOOS=os GOARCH=arch go build packages
os: darwin
, freebsd
, linux
, windows...
golang
arch: 386
, amd64, arm...windows
os和arch的組合可參考: https://golang.org/doc/install/source#environment
架構
交叉編譯的過程比較慢,由於go會把全部依賴的包(包括標準庫)用指定的架構體系從新編譯一遍。ui
另外,在交叉編譯時應當使用 go build,而不是 go install,由於 go install 會把編譯出來的 *.a 庫文件寫入 $GOROOT/pkg 或者 $GOPATH/pkg 目錄,這可能並非你所但願的。spa