Fork me on GitHub

搭建go程序源码编译环境

编译go语言程序,需要将源码放在特定结构和目录名称的的工程环境中,并设置GOPATH环境变量.

GOPATH最后一层目录名为src,同级的目录有bin,pkg目录,程序源码需要放在src下面。如下图所示:

但是通常我们在git代码库上提交的源码,并不一定是按照上述目录结构组织的。所以为了方便编译,而又不挪动源码,我们使用软链接的方法为需要编译的go源码搭建一个编译环境。

base_service工程中的Zeus是需要编译的go源码,在该目录中是无法直接使用go build命令进行编译的。

建立go编译工程目录:

在外面任意位置新建编译目录build_go,里面分别建立src,bin,pkg等3个字目录

建立软连接:
1
$ln -sf /Users/bitmain/work/master/bitmain_gerrit/base_service/Zeus /Users/bitmain/work/master/bitmain_gerrit/go_build/src/Zeus

设置GOPATH环境变量:

env.sh如下:

1
$export GOPATH=$GOPATH:/Users/bitmain/work/master/bitmain_gerrit/go_build
编译:

然后在go_build目录下执行编译脚本build.sh即可完成编译:

1
2
3
4
#!/bin/bash
pushd /Users/bitmain/work/master/bitmain_gerrit/go_build/src
go build -o zeus entry.go
popd
您的鼓励是我持之以恒的动力