Golang 支持在一個平臺下生成另一個平臺可執行程式的交叉編譯功能。 Mac下編譯Linux, Windows平臺的64位可執行程式: Linux下編譯Mac, Windows平臺的64位可執行程式: Windows下編譯Mac, Linux平臺的64位可執行程式: GOOS:目標可執行程式運行操 ...
Golang 支持在一個平臺下生成另一個平臺可執行程式的交叉編譯功能。
Mac下編譯Linux, Windows平臺的64位可執行程式:
1 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build [application | gofile.go] 2 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build [application | gofile.go]
Linux下編譯Mac, Windows平臺的64位可執行程式:
1 CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build [application | gofile.go] 2 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build [application | gofile.go]
Windows下編譯Mac, Linux平臺的64位可執行程式:
1 SET CGO_ENABLED=0 2 SET GOOS=darwin 3 SET GOARCH=amd64 4 go build [application | gofile.go] 5 6 SET CGO_ENABLED=0 7 SET GOOS=linux 8 SET GOARCH=amd64 9 go build [application | gofile.go]
GOOS:目標可執行程式運行操作系統,支持 darwin,freebsd,linux,windows
GOARCH:目標可執行程式操作系統構架,包括 386,amd64,arm
Golang version 1.5以前版本在首次交叉編譯時還需要配置交叉編譯環境:
1 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash 2 CGO_ENABLED=0 GOOS=windows GOARCH=amd64 ./make.bash
make.bash文件只在Golang源碼編譯安裝情況下才用。