golang 支援在乙個平台下生成另乙個平台可執行程式的交叉編譯功能。
$ cgo_enabled=0 goos=linux goarch=amd64 go build test.go
$ cgo_enabled=0 goos=windows goarch=amd64 go build test.go
$ cgo_enabled=0 goos=darwin goarch=amd64 go build test.go
$ cgo_enabled=0 goos=windows goarch=amd64 go build test.go
$ 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
go交叉編譯
指定叉編譯目標 goarch 目標平台 編譯後的目標平台 的處理器架構 386 amd64 arm goos 目標平台 編譯後的目標平台 的作業系統 darwin freebsd linux windows 一 windows 下編譯linux 64位可執行程式 set cgo enabled 0 ...
Go交叉編譯
使用go語言做了乙個微服務,微服務中的乙個功能,需要呼叫底層so。該微服務執行於arm64架構,系統為aarch64 gnu linux。因此需要交叉編譯。第一步 編寫編譯指令碼,指令碼中需要設定環境變數 go build v 第二步 調整gcc編譯環境。如下圖中5項,預設用於編譯和鏈結的工具。位於...
Go交叉編譯
golang的交叉編譯要保證golang版本在1.5以上,本解決方案例項 1.9版本執行的。goos linux goarch amd64 go build hello.go這裡用到了兩個變數 goos 目標作業系統 goarch 目標作業系統的架構 osarch os version linux ...