golang 交叉編譯總結

2021-10-23 20:40:15 字數 1152 閱讀 6869

golang 交叉編譯

golang 交叉編譯牽涉到三個變數

cgo_enabled = 0 表示設定cgo工具不可用,使用go自己的編譯器

goos:目標作業系統

goarch 表示程式構建環境的目標計算架構 比如:386,amd64,arm,arm64,ppc64,ppc64le,mips,mipsle,mips64,mips64le

386為32位 amd64位64位系統

os arch os version

linux 386 / amd64 / arm >= linux 2.6

darwin 386 / amd64 os x (snow leopard + lion)

freebsd 386 / amd64 >= freebsd 7

windows 386 / amd64 >= windows 2000

go tool dist list

查詢當前交叉編譯支援的版本

//以下操作,都交叉編譯不支援 cgo 所以要禁用它

//windows下使用go編譯器編譯64位linux可執行程式

set cgo_enabled=0 set goos=linux set goarch=amd64 go build -o ./bin/main main.go

//windows下使用go編譯器編譯32位linux可執行程式

set cgo_enabled=0 set goos=linux set goarch=386 go build -o ./bin/main main.go

//windows下使用go編譯器編譯64位windows可執行程式

set cgo_enabled=0 set goos=windows set goarch=amd64 go build -o ./bin/main main.go

//windows下使用go編譯器編譯32位windows可執行程式

set cgo_enabled=0 set goos=windows set goarch=386 go build ./bin/main main.go

附錄圖一張,來自某人的檔案,感謝。

golang交叉編譯

golang交叉編譯 golang 支援交叉編譯,在乙個平台上生成另乙個平台的可執行程式 mac 下編譯 linux 和 windows 64位可執行程式 cgo enabled 0 goos linux goarch amd64 go build main.go cgo enabled 0 goo...

golang交叉編譯

go env檢查各項環境變數無誤 進入shell環境 windows為cmd環境 切換到專案工程的原始碼目錄 包含main包的那個目錄 設定好環境變數,關閉cgo 交叉編譯不支援所以要關閉 將編譯目標平台的環境變數設定好,然後執行go build命令即可,具體方法如下 cgo enabled 0 g...

golang交叉編譯

golang是乙個跨平台的語言,如何進行跨平台編譯呢,實際上只需要制定以下兩個 引數即可 goos 可執行檔案將要執行的作業系統。支援 darwin,freebsd,linux,windows.goarch 作業系統架構。支援 386,amd64,arm.編譯mac cgo enabled 0,go...