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...