假设开发环境是ubuntu 32 位,目标机是ubuntu 64 位,下面是交叉编译的示例
前提是源码安装go ,查找文件 make.bash
1
sudo find / -name make.bash
默认结果是:
1
/usr/share/go/src/make.bash
如果你自定义了安装位置,结果可能不同
1
2
cd /usr/share/go/src/
sudo CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash
如果正常,你可能会看到类似下面的安装信息,等待完成即可:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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
.....
到源代码目录下执行:
1
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
不带前面参数的 go build
只是编译出开发环境适用的执行文件。
本文网址: https://golangnote.com/topic/100.html 转摘请注明来源