双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

【go秀一秀】Golang在Windows下建立交叉编译环境

pathletboy pathletboy 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在安装好go后,建立交叉编译环境还需要一个重要的工具链gcc,推荐使用mingw,下载地址如下
http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/mingw-get-inst-20120426/mingw-get-inst-20120426.exe/download
安装好后,下文假设安装在D:\MinGW下,将D:\MinGW\bin添加到系统环境变量 %PATH% 中。
假设Go安装在c:\go下面,将下面的批处理文件放置到c:\go\src下后执行。
rm -rf ../bin ../pkg
set CGO_ENABLED=0
::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


运行完毕将会产生交叉编译环境列表如下(不完全,请根据自己需要修改)
x86的windows/linux/darwin(mac os)/freebsd
x64的linux
arm的linux(android)
另外还将安装gocode用于代码提示。

最后提供一个例子用于在windows上交叉编译x86的linux可执行文件

set GOPATH=你的工程目录
set GOARCH=386
set GOOS=linux
go build
pause

将上述批处理文件放置到你的.go源文件所在目录下运行,即可产生对应平台的可执行文件。

修改GOARCH及GOOS来产生对应平台的可执行文件,可以自行完善批处理文件,做到编译、strip、upx、打包一条龙。
...全文

相关推荐

评论 9
收藏 已收藏
分享
返回顶部
pathletboy
go语言 2,351 成员 924 内容