2021年6月19日 星期六

Go 語言跨平台編譯

Go 語言可以在另一個平台(作業系統)上,編譯出另一個平台(作業系統)的執行檔。


[參數]
GOOS:作業系統(android、ios、linux、windows...)
GOARCH:作業系統架構(arm、amd64...)
CGO_ENABLED:是否啟用CGO (不能啟用CGO,故設為0)

例1:windows 上編譯出 Linux 執行檔(僅用SET,沒用-w設定的環境變數,僅在此次開啟的termial有效)
SET CGO_ENABLED=0 
SET GOOS=linux
SET GOARCH=amd64
go build main.go


例2:Linux 上編譯出 windows 執行檔
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go



[查詢支援的平台]
>go tool dist list
aix/ppc64
android/386
android/amd64
android/arm
android/arm64
darwin/amd64
darwin/arm64
dragonfly/amd64
freebsd/386
freebsd/amd64
freebsd/arm
freebsd/arm64
illumos/amd64
ios/amd64
ios/arm64
js/wasm
linux/386
linux/amd64
linux/arm
linux/arm64
linux/mips
linux/mips64
linux/mips64le
linux/mipsle
linux/ppc64
linux/ppc64le
linux/riscv64
linux/s390x
netbsd/386
netbsd/amd64
netbsd/arm
netbsd/arm64
openbsd/386
openbsd/amd64
openbsd/arm
openbsd/arm64
openbsd/mips64
plan9/386
plan9/amd64
plan9/arm
solaris/amd64
windows/386
windows/amd64
windows/arm





參考:


沒有留言:

張貼留言