golang windows 搭建 linux交叉编译

pm45e 9年前

原文 http://dev.cmcm.com/archives/340

1.准备工作

下载 git(http://git-scm.com/download/)

下载vim74 已经配置好的 (http://pan.baidu.com/s/1hq6euDA)

下载golang 1.4 (https://golang.org/dl/)

下载TDM-GCC 32位和64位 (http://tdm-gcc.tdragon.net/download)

2.golang 环境搭建

安装 TDM-GCC 32位 64位 并设置 path

解压缩 go 并设置 (目录需要自行修改)

GOROOT="D:\go" "golang 所在目录"   GOBIN="D:\go\bin" "go 可执行文件目录(go install 三方包 后默认出现的地方 不设置 会走3方包的路径)"   GOPATH="D:\3rd" "三方包的路径"   GOOS="windows" "默认编译的系统"   GOARCH="amd64" "i386 或 amd64"

都配置好后 打开go\src\ 新建 build.cmd写入内容如下

set CGO_ENABLED=0  ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::    ::x64块  set GOARCH=amd64  set GOOS=windows  call make.bat --no-clean    set GOOS=linux  call make.bat --no-clean  ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::    ::arm块  set GOARCH=arm  set GOOS=linux  call make.bat --no-clean

保存后运行 会直接生成windows 与linux 的交叉环境

此时 环境应该已经ok了 可以 在cmd 里面实验一下go 看是否有反映

下载对应的go 包

go get github.com/nsf/gocode   go get github.com/jstemmer/gotags   go get github.com/bradfitz/goimports   go get code.google.com/p/rog-go/exp/cmd/godef

这里需要注意一下 code.google.com/p/rog-go/exp/cmd/godef

包内部有个bug 我的路径是 D:\3dr\src\code.google.com\p\rog-go\exp\cmd\godef

需要做如下修改(这里原来是 /src/pkg 需要修改为/pkg 原因是 从某个版本开始pkg 目录被移动出src了 如果使用旧的 会导致跳转代码 失败)

修改成功后重新编译一下godef(go install code.google.com/p/rog-go/exp/cmd/godef)

golang windows 搭建 linux交叉编译

3.GVIM 配置

安装git 环境变量选择

golang windows 搭建 linux交叉编译

在git的目录下找到Cmd 目录进入后新建文件curl.cmd内容如下

@rem Do not use "echo off" to not affect any child calls. @setlocal    @rem Get the abolute path to the parent directory, which is assumed to be the  @rem Git installation root.  @for /F "delims=" %%I in ("%~dp0..") do @set git_install_root=%%~fI  @set PATH=%git_install_root%\bin;%git_install_root%\mingw\bin;%PATH%    @if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%  @if not exist "%HOME%" @set HOME=%USERPROFILE%    @curl.exe %*

解压缩 下载好的vim74 打开 vim74\x64 修改图片中的地址后 运行

golang windows 搭建 linux交叉编译

然后打开一个go 文件试试

vim 中使用了neobuild 管理包

通用配置在 vim74\x64\vimfiles\custom go部分

使用了 vim-go 具体快捷键可以登录 https://github.com/fatih/vim-go

常用 F10 打开函数与文件列表

:make 编译   ctrl+] 跳转函数实现   ctrl+o 跳回   alt+c 复制选中   alt+v 粘贴

交叉编译 build.sh(因为装了git 所以可以直接识别sh)

GOOS=linux GOARCH=amd64 go build