golang 編譯不同平台可執行檔案

2021-10-02 05:03:01 字數 873 閱讀 3133

1、mac下編譯linux, windows平台的64位可執行程式:

$ cgo_enabled=0 goos=linux goarch=amd64 go build test.go

$ cgo_enabled=0 goos=windows goarch=amd64 go build test.go

2、linux下編譯mac, windows平台的64位可執行程式:

$ cgo_enabled=0 goos=darwin goarch=amd64 go build test.go

$ cgo_enabled=0 goos=windows goarch=amd64 go build test.go

3、windows下編譯mac, linux平台的64位可執行程式:

$ set cgo_enabled=0set goos=darwin3 set goarch=amd64 go build test.go

$ set cgo_enabled=0 set goos=linux set goarch=amd64 go build test.go

注:如果編譯web等工程專案,直接cd到工程目錄下直接執行以上命令

goos:目標可執行程式執行作業系統,支援 darwin,freebsd,linux,windows

goarch:目標可執行程式作業系統構架,包括 386,amd64,arm

golang version 1.5以前版本在首次交叉編譯時還需要配置交叉編譯環境:

cgo_enabled=0 goos=linux goarch=amd64 ./make.bash

cgo_enabled=0 goos=windows goarch=amd64 ./make.bash

golang跨平台編譯

golang中跨平台交叉編譯涉及兩個重要的環境變數 goos和goarch,分別代表target host os和target host arch,如果沒有顯式設定這些環境變數,我們通過go env可以看到go編譯器眼中這兩個環境變數的當前值 go env goarch amd64 gobin ho...

Golang 跨平台編譯

1 首先進入go src 原始碼所在目錄,執行如下命令建立目標平台所需的包和工具檔案。cd usr loc al g o sr c cgo enabled 0 goos linux goarch amd64 make.bash 如果是 windows 則修改 goos 即可。cgo enabled ...

golang 跨平台編譯

本文交叉編譯需要 1.5 以上 cgo enabled 0 goos windows goarch amd64 go build o test win x64.exe test.go cgo enabled 0 goos linux goarch amd64 go build o test linu...