Golang交叉編譯(跨平台編譯)簡述

2021-09-24 09:41:48 字數 1108 閱讀 8499

三、簡述交叉編譯

四、實練

小總結

簡單地說,就是在乙個平台上生成另乙個平台上的可執行**。同乙個體系結構可以執行不同的作業系統;同樣,同乙個作業系統也可以在不同的體系結構上執行。

本文只介紹windows平台下的golang交叉編譯

安裝完成後新增tdm-gcc中bin資料夾進環境變數。

其實儲存上面一幅圖即可,需記住三個引數,goos(go的目標系統),goarch(go的目標架構)。

設定完成後通過go env檢視當前配置。

注意:在不同的命令提示符(cmd)中或關閉重新開啟命令提示符,所設定的goos和goarch是不互通的。也就是可以把goos和goarch理解為區域性變數,不會儲存。golang預設每次build的都是當前系統和架構。

當前是使用預設配置編譯了乙個windows平台下的exe可執行檔案,同樣我們設定goos和goarch後再編譯看看。

在windows powershell中set 命令似乎無效,有時間再詳查什麼原因,所以這一步用了cmd。

設定完後同樣再執行go bulid即可,就可以得到乙個無字尾的linux可執行檔案。

記住3句**,及其支援的系統。這個在第三節已經給出。

set goos=***

set goarch=***

go env

最近寫東西比較亂,如有錯誤之處,敬請指出,感激不盡。

引用請註明:

golang跨平台交叉編譯

go語言支援交叉編譯,在乙個平台上生成另乙個平台的可執行程式,最近使用了一下,非常好用,這裡備忘一下。需要注意的是我發現golang在支援cgo的時候是沒法交叉編譯的 mac 下編譯 linux 和 windows 64位可執行程式 cgo enabled 0 goos linux goarch a...

交叉編譯 Go 交叉編譯 跨平台編譯

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

golang跨平台編譯

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