本文交叉編譯需要 1.5 以上
➜ ~cgo_enabled=0
goos=windows
goarch=amd64 go build -o test_win_x64.exe test.go
➜ ~cgo_enabled=0
goos=linux
goarch=amd64 go build -o test_linux_x64 test.go
設定環境變數goroot_bootstrap
解壓到
tar zxvf [go1.4.2.darwin-amd64-osx10.8.tar.gz]()
cp go/ $home/go-bootstrap/
goroot_bootstrap=$home/go-bootstrap/
export goroot_bootstrap
解壓後設定環境變數goroot_bootstrap
到解壓目錄(禁止任何中文,編碼問題)
進入需要配置交叉編譯的目錄,執行
cd
%goroot%/src
set cgo_enabled=0 | set goos=linux | set goarch=amd64 | make.bat
# 如果你想在windows 32位系統下執行
➜ ~cd $goroot/src
➜ ~cgo_enabled=0
goos=windows
goarch=386 ./make.bash
# 如果你想在windows 64位系統下執行
➜ ~cd $goroot/src
➜ ~cgo_enabled=0
goos=windows
goarch=amd64 ./make.
# 如果你想在os x 32位系統下執行
➜ ~cd $goroot/src
➜ ~cgo_enabled=0
goos=darwin
goarch=386 ./make.bash
# 如果你想在os x 64位系統下執行
➜ ~cd $goroot/src
➜ ~cgo_enabled=0
goos=darwin
goarch=amd64 ./make.bash
# 如果你想在linux 32位系統下執行
➜ ~cd $goroot/src
➜ ~cgo_enabled=0
goos=linux
goarch=386 ./make.bash
# 如果你想在linux 64位系統下執行
➜ ~cd $goroot/src
➜ ~cgo_enabled=0
goos=linux
goarch=amd64 ./make.bash
執行結束後,才可以使用交叉編譯
並不是重新編譯go,因為安裝go的時候,只是編譯了本地系統需要的東西,而需要跨平台交叉編譯,需要在go中增加對其他平台的支援,所以會有./make.bash
這麼乙個過程
##### building go bootstrap tool.
cmd/dist
error: cannot find /users/***/go1.4/bin/go.
set $goroot_bootstrap to a working go tree >= go 1.4.
# 如果你想在windows 32位系統下執行
➜ ~cgo_enabled=0
goos=windows
goarch=386 go build test.go
# 如果你想在windows 64位系統下執行
➜ ~cgo_enabled=0
goos=windows
goarch=amd64 go build test.go
# 如果你想在os x 32位系統下執行
➜ ~cgo_enabled=0
goos=darwin
goarch=386 go build test.go
# 如果你想在os x 64位系統下執行
➜ ~cgo_enabled=0
goos=darwin
goarch=amd64 go build test.go
# 如果你想在linux 32位系統下執行
➜ ~cgo_enabled=0
goos=linux
goarch=386 go build test.go
# 如果你想在linux 64位系統下執行
➜ ~cgo_enabled=0
goos=linux
goarch=amd64 go build test.go
goos=windows go build -v
goos=linux go build -v
goos=darwin go build -v
golang跨平台編譯
golang中跨平台交叉編譯涉及兩個重要的環境變數 goos和goarch,分別代表target host os和target host arch,如果沒有顯式設定這些環境變數,我們通過go env可以看到go編譯器眼中這兩個環境變數的當前值 go env goarch amd64 gobin ho...
Golang 跨平台編譯
1 首先進入go src 原始碼所在目錄,執行如下命令建立目標平台所需的包和工具檔案。cd usr loc al g o sr c cgo enabled 0 goos linux goarch amd64 make.bash 如果是 windows 則修改 goos 即可。cgo enabled ...
Golang 跨平台編譯
例如 在 windows 環境編譯 linux 可以執行檔案或者在 linux 環境編譯 windows 可執行檔案 windows 環境編譯 linux 設定引數 export cgo enabled 0 export goos linux export goarch amd64 我是在 wind...