go 在windows下编译linux程序

发布于 2016-10-25 21:16:28

首先已经安装了go和git,如果没有请自行百度。

其次要安装TDM-GCC ,得靠这个把go编译成linux程序。下载地址:http://tdm-gcc.tdragon.net/download

5ce52b056cee6.png

注意:如图所示,这是TDM-GCC安装包打开后的页面,如果右边框中显示有TDM的选项,说明TDM已经安装,不需要再重新安装,可以关掉安装程序。

切换到GO的根目录,也就是安装目录,进入根目录里的src文件夹,在里面建一个build.bat的文件,写入内容如下:

set CGO_ENABLED=0
set GOROOT_BOOTSTRAP=C:/Go
::x86块
set GOARCH=386
set GOOS=windows
call make.bat --no-clean
set GOOS=linux call make.bat --no-clean
set GOOS=freebsd call make.bat --no-clean
set GOOS=darwin call make.bat --no-clean
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::x64块
set GOARCH=amd64
set GOOS=linux
call make.bat --no-clean
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::arm块
set GOARCH=arm
set GOOS=linux
call make.bat --no-clean
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
set GOARCH=386
set GOOS=windows
go get github.com/nsf/gocode
pause

把以上代码复制到build.bat后保存并运行,期间会比较耗时。要注意的是代码里面set GOROOT_BOOTSTRAP=C:/Go,这里设的是你GO的根目录。

现在就可以进入你的项目目录进行交叉编译了

如:需要编译成 linux 64的
 只要在编译前:
  set GOOS=linux
  set GOPACH=amd64
然后就可以go build 你的项目,编译后的文件默认在你的go文件目录下。
同理,如果要切换回windows下 只要 set GOOS=windows就行,如果是32位的还要set GOPACH=386。

0 条评论

发布
问题