标签为 "buildpkg" 的存档

go lang交叉编译,在linux下编译windows上可用的exe可执行文件

最近在看golang,看了《GO语言编程》,没看一段都会照葫芦画瓢搞个demo来玩玩。
在搞交叉编辑的时候,遇到了麻烦,按书上搞的,buildpkg 这个脚本里,需要在$GOROOT/src下执行go tool dist install -v pkg/runtime ,可是src下根本没有这个 pkg/runtime的目录啊,总是报错,怎么也编译不出来。

自己就不管那个脚本了,自己看错误提示琢磨。
自己直接 go build exe文件的时候,报错 go build runtime: windows/386 must be bootstrapped using make.bash
然后估摸着,需要先修改GOOS和GOARCH进行make.bash,试了下,果真可以。

所以,交叉编译,做一个windows下64位电脑可用的exe文件,这样搞:

cd $GOROOT/src
GOOS=windows GOARCH=amd64 ./make.bash #如果是32位,就GOARCH=386
cd word #回到自己想输出可执行文件的位置
GOOS=windows GOARCH=amd64 go build -o sorter.exe sorter #go build 依赖 $GOPATH,这个就不多说了。

效果图:

go-build-for-linux

linux下运行效果图

go-build-for-windows

windows下运行效果图