Golang在windows下交叉编译linux程序 [转贴加 clq 的修正]
clq
浏览(502) -
2018-01-08 10:26:57 发表
编辑
关键字: golang
Golang在windows下交叉编译linux程序 [转贴加 clq 的修正]
2016-04-19 15:17 by 埋头前进的码农, 3494 阅读, 0 评论, 收藏, 编辑
1、下载相关程序。
Golang下载:http://www.golangtc.com/download
Git下载:http://git-scm.com/download/
TDM-GCC下载:http://tdm-gcc.tdragon.net/download
2、Go编译环境配置
安装 TDM-GCC,程序会自动设置PATH环境变量,如果没有设置成功请手动设置。
安装Go,安装完后需要设置GOROOT,GOPATH,GOBIN,PATH环境变量,
其中
GOROOT为你的Go安装跟目录
GOPATH为你go程序开发目录,go get后的包也会下载到该目录。
GOBIN为你的go运行目录,运行 go install 命令后,程序会被安装到该目录。
PATH为你Go程序根目录,用于能够通过控制台调用go命令。
3、配置交叉编译环境
在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
复制代码
我的Go程序版本是1.6,需要设置GOROOT_BOOTSTRAP变量为Go的安装目录,否则执行时会报错。
然后运行build.bat,等待结束。
该程序会编译其他平台编译Go需要的库和编译文件。
完成后,在cmd命令行下依次执行:
set GOOS=linux
set GOPACH=amd64
go build -o -x APPNAME main.go
编译后的文件会出现在main.go相应的目录下。
--------------------------------------------------
以上是转贴网友文章,对于我的 go 1.7.3 环境则有些不同.
两点不同:
1.
用的 wxdevcpp_7.4.2_full_setup 自带的 gcc.
2.
最后一个编译命令没有成功,以下命令成功
D:\gopath>go build gt21.go
NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.