Golang 交叉编译
各平臺的GOOS和GOARCH參考
OS ARCH OS version
linux 386 / amd64 / arm >= Linux 2.6
darwin 386 / amd64 OS X (Snow Leopard + Lion)
freebsd 386 / amd64 >= FreeBSD 7
windows 386 / amd64 >= Windows 2000
$ cd /usr/local/go/src
$ sudo CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash
這里并不是重新編譯Go,因為安裝Go的時候,只是編譯了本地系統(tǒng)需要的東西;而需要跨平臺交叉編譯,需要在Go中增加對其他平臺的支持。所以,有 ./make.bash 這么一個過程。
執(zhí)行結(jié)果類似如下:
sudo CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash
Password:
Building C bootstrap tool.
cmd/dist
Building compilers and Go bootstrap tool for host, darwin/amd64.
lib9
libbio
libmach
misc/pprof
cmd/addr2line
cmd/cov
cmd/nm
cmd/objdump
cmd/pack
cmd/prof
cmd/cc
……
pkg/text/template/parse
pkg/text/template
pkg/go/doc
pkg/go/build
cmd/go
pkg/runtime (linux/amd64)
Building packages and commands for host, darwin/amd64.
runtime
errors
sync/atomic
unicode
unicode/utf8
math
sync
unicode/utf16
crypto/subtle
io
syscall
……….
net/rpc/jsonrpc
testing/iotest
testing/quick
Building packages and commands for linux/amd64.
runtime
errors
sync/atomic
unicode
unicode/utf8
math
sync
unicode/utf16
……..
testing
net/rpc/jsonrpc
testing/iotest
testing/quick
Installed Go for linux/amd64 in /usr/local/go
Installed commands in /usr/local/go/bin
三、編譯對應(yīng)平臺下的執(zhí)行文件
到源代碼目錄下執(zhí)行:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build sina.go
不帶前面參數(shù)的 go build 只是編譯出開發(fā)環(huán)境適用的執(zhí)行文件。
?
原文來自:http://m.oschina.net/blog/131480
轉(zhuǎn)載于:https://www.cnblogs.com/Jim-william/p/5038965.html
總結(jié)
以上是生活随笔為你收集整理的Golang 交叉编译的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Fix an “Unapproved C
- 下一篇: cocos2d 走动椭圆