搭建go交叉编译环境

1: go1.5开始使用了自居,意味的你编译其他平台的库你必须用go去编译

本人解决方法如下:

环境:
系统:macos serira
1:安装brew ,去官网安装brew链接
2:先安装一个版本的golang,

brew install go

3:安装完后,

go env

查看你的go环境

4: 进行go的其他平台编译

cd /usr/local/Cellar/go/1.7.4_2/libexec //go的安装位置
cd src
./all.bash

此时会输出一个你goroot_boostrap没有go环境,并且go环境必须大于go1.4

5: 进入golang中国,下载一个比你安装的go版本低一点的版本大于1.4即可
本次安装的是go 1.7.4
所以我又去下载了一个 go 1.7.3

6: 解压下载下来的tar压缩文件,本次我是这样处理的,你可以自己选择位置
我将go1.7.3 放在/Users/willian/Public/go这里

7:编辑goroot_boostrap变量

export GOROOT_BOOTSTRAP=/Users/willian/Public/go
source ~/.bash_profile

8:编译平台相关库

cd /usr/local/Cellar/go/1.7.4_2/libexec/src
./all.bash  //编译本平台相关库
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash //编译linux平台相关库
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 ./make.bash //编译windows平台相关库

9:使用

//在本目录下linux平台的可执行文件,部署的时候直接scp上去直接执行
//不得不说go语言真的是黑科技
$ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build 

//直接产生exe文件
$ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

你可能感兴趣的:(go)