go項目使用gox交叉編譯,產生跨平台的可執行檔

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

【第一次安裝】

1.安裝gox

$ go get github.com/mitchellh/gox$ cd $GOPATH/src/github.com/mitchellh/gox$ go build

2.編輯~/.bash_profile(bsh) 或者~/.zshrc(zsh) 添加一行:

alias gox="$GOPATH/src/github.com/mitchellh/gox/gox"

新開終端,讓設定生效。


3.產生本地工具鏈(如果go版本升級,比如從1.3.3升級到1.4,需要重新運行這個命令先)

$ gox -build-toolchain

【交叉編譯項目】

1.比如有一個項目的目錄在$GPATH/src/hello

$cd $GPATH/src/hello$goxNumber of parallel builds: 8-->      darwin/386: hello-->    darwin/amd64: hello-->       linux/386: hello-->     linux/amd64: hello-->       linux/arm: hello-->     freebsd/386: hello-->   freebsd/amd64: hello-->     openbsd/386: hello-->   openbsd/amd64: hello-->     windows/386: hello-->   windows/amd64: hello-->     freebsd/arm: hello-->      netbsd/386: hello-->    netbsd/amd64: hello-->      netbsd/arm: hello-->       plan9/386: hello-->   dragonfly/386: hello--> dragonfly/amd64: hello-->   solaris/amd64: hello

對應產生下面的各平台檔案:

$lltotal 16768drwxr-xr-x  23 wenke  staff     782 12 30 19:42 .drwxr-xr-x   7 wenke  staff     238 12 28 16:21 ..-rw-r--r--   1 wenke  staff      54 12 28 16:22 hello.go-rwxr-xr-x   1 wenke  staff  381420 12 30 19:42 hello_darwin_386-rwxr-xr-x   1 wenke  staff  467040 12 30 19:42 hello_darwin_amd64-rwxr-xr-x   1 wenke  staff  381536 12 30 19:42 hello_dragonfly_386-rwxr-xr-x   1 wenke  staff  469424 12 30 19:42 hello_dragonfly_amd64-rwxr-xr-x   1 wenke  staff  381296 12 30 19:42 hello_freebsd_386-rwxr-xr-x   1 wenke  staff  469240 12 30 19:42 hello_freebsd_amd64-rwxr-xr-x   1 wenke  staff  408336 12 30 19:42 hello_freebsd_arm-rwxr-xr-x   1 wenke  staff  390768 12 30 19:42 hello_linux_386-rwxr-xr-x   1 wenke  staff  475888 12 30 19:42 hello_linux_amd64-rwxr-xr-x   1 wenke  staff  413856 12 30 19:42 hello_linux_arm-rwxr-xr-x   1 wenke  staff  386440 12 30 19:42 hello_netbsd_386-rwxr-xr-x   1 wenke  staff  470448 12 30 19:42 hello_netbsd_amd64-rwxr-xr-x   1 wenke  staff  409224 12 30 19:42 hello_netbsd_arm-rwxr-xr-x   1 wenke  staff  381696 12 30 19:42 hello_openbsd_386-rwxr-xr-x   1 wenke  staff  469648 12 30 19:42 hello_openbsd_amd64-rwxr-xr-x   1 wenke  staff  365441 12 30 19:42 hello_plan9_386-rwxr-xr-x   1 wenke  staff  490296 12 30 19:42 hello_solaris_amd64-rwxr-xr-x   1 wenke  staff  385536 12 30 19:42 hello_windows_386.exe-rwxr-xr-x   1 wenke  staff  466944 12 30 19:42 hello_windows_amd64.exe

2.只產生mac和linux平台下的檔案

$gox -os "darwin linux"Number of parallel builds: 8-->      darwin/386: hello-->    darwin/amd64: hello-->       linux/386: hello-->     linux/amd64: hello-->       linux/arm: hello

3. 只產生linux平台amd64的檔案

$gox -osarch="linux/amd64"Number of parallel builds: 8-->     linux/amd64: hello



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.