1. 程式人生 > >go交叉編譯

go交叉編譯

指定叉編譯目標:
GOARCH 目標平臺(編譯後的目標平臺)的處理器架構(386、amd64、arm)
GOOS 目標平臺(編譯後的目標平臺)的作業系統(darwin、freebsd、linux、windows)

(一)Windows 下編譯Linux 64位可執行程式:

    SET CGO_ENABLED=0  //不設定也可以,原因不明
    SET GOOS=linux
    SET GOARCH=amd64
    通過 go env 檢視設定是否成功。

(二)Linux 下編譯Windows可執行程式:

    export CGO_ENABLED=0
export GOOS=windows export GOARCH=amd64 通過 go env 檢視設定是否成功。 go build hello.go

問題:
上面的(一)的方法設定只能在當前視窗生效,於是乎搜尋出其他方法,不過沒成功。

SET CGO_ENABLED=0 
SET GOOS=linux
SET GOARCH=amd64
make.bat

報錯:
這裡寫圖片描述
解決:
設定環境變數 GOROOT_BOOTSTRAP為GO的安裝目錄 C:\Go

再次執行make.bat報錯:
這裡寫圖片描述
github上有解釋說:不是原始碼編譯安裝的go,重新原始碼安裝go可以解決