golang 在 windows 下编译出 linux 二进制可执行文件的软件套装合集 [go 1.7.3环境]
golang 很好用,不过要把工具链弄完整. 要不你会发现怎么不能编译跨平台的呀? 怎么写代码没提示啊? ...
这一整套弄下来并不容易. 所以精心准备了一套工具方便大家使用. 软件列表如图. 安装顺序比较重要,依次为:
wxdevcpp_7.4.2_full_setup.exe
go1.7.3.windows-386.msi
liteidex30.3.windows-qt5.zip
原因是 golang 跨平台编译需要 gcc,而 liteide 又需要它们两者.
--------------------------------------------------
(地址是 golang 大集合,请进入其 "go1.7.3合集"子目录):
https://pan.baidu.com/s/1c3MLKo4
[图片]

--------------------------------------------------
编译的方法参考了园子网友的文章,不过 wxdevcpp 更容易找到,而且是我一直都用的编译器,所以用了它带的 gcc.
from http://softhub.newbt.net/160/%7BBFEF9B7F-9993-9A8D-FFB4-CF6EECA4F767%7D-0.html
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
golang 在 windows 下编译出 linux 二进制可执行文件的软件套装合集 [go 1.7.3环境]的更多相关文章
- 在windows下编译出linux可执行程序
set GOARCH=amd64 set GOOS=linux go build xx.go 会生成一个没有后缀的xx二进制文件 将该文件放入linux系统某个文件夹下 赋予权限 chmod 777 ...
- Windows 最值得推荐的装机必备“神器”软件大合集
工欲善其事,必先利其器.每个人在平时使用电脑的过程中,多多少少都会积累一些好用的软件,我也不例外,从业这么多年,收藏了许多不错的软件,通过这篇文章都分享给大家.如果觉得不错,请把这篇文章分享给你的小伙 ...
- go语言在Windows系统下编译成linux系统可执行文件
package main import ( "fmt" "os" "os/exec" ) //filepath: 要编译的文件的路径 fun ...
- Linux程序在Windows下编译运行_MinGW和Cygwin
linux要在windows下编译运行,需要win下的gcc编译器,一般有两种:MinGW和Cygwin. 但某些函数在windows没有,即使使用两种工具也编译不过,需要查询windows函数并使用 ...
- Golang调用windows下的dll动态库中的函数 Golang 编译成 DLL 文件
Golang调用windows下的dll动态库中的函数 package main import ( "fmt" "syscall" "time&quo ...
- Windows下编译objective-C
Windows下编译objective-C 2011-08-31 14:32 630人阅读 评论(0) 收藏 举报 windowscocoa工具objective clibraryxcode 目录 ...
- 在Windows下编译FFmpeg详细说明
MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU F ...
- Windows下编译安装 FFmpeg
在Linux/Mac下编译 ffmpeg是非常方便的.但要在 Windows下编译 ffmpeg还真要花点时间.以下就是在 Windowns下编译ffmpeg的步骤: 一.安装Cygwin 在wind ...
- windows下编译php7图形库php_ui.dll
CSDN博客 具有图形化编程才有意思,这几天看到了php ui 图形扩展,只是现在只能下载php 7.1的 本次教程编译php7.2.6的 php ui 要是linux下编译起来比较简单 但是 win ...
随机推荐
- 如何解决更新被拒绝,因为远程版本库包含您本地尚不存在的提交。这通常是因为另外 提示:一个版本库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更 提示:(如 'git pull ...')。
不要通过网页提交,通过网页提交一次,然后在终端再次push的时候,会认为网上代码仓库已经被其他地方提交过一次代码,此时会拒绝终端push 这个时候只能是pull,然后才能再次在终端提交. 也就是说,避 ...
- Natas Wargame Level27 Writeup(SQL表的注入/溢出与截取)
前端: <html> <head> <!-- This stuff in the header has nothing to do with the level --&g ...
- 为什么在有的服务器上禅道、蝉知安装会报错? 之理解MySQL的SQL_MODE
最近用蝉知的CMS 建站比较多,感觉蛮顺手的,但在给客户安装的时候却会出现安装报错,其原因也很简单 查看了一下他们的install.sql文件中,有些时间字段的默认值是0000-00-00 00:00 ...
- Hibernate学习---用Session实现CURD
我们使用Hibernate的目的是什么?对数据库进行操作,所有接下来我们就用Hibernate来进行CURD. 前边我们已经分析过了Configuration,SessionFactory和Sessi ...
- mac上虚拟机安装旧版本的macosx 10.8
前言 由于测试的需要,需要10.8的macosx,但又不想降级自己mac版本,所以还是装虚拟机,Parallels Desktop试验了安装不了osx,就换VMware Fusion,发现是可以的. ...
- [Maximize ∑arr[i]*i of an Array]
Given an array of N integers. Your task is to write a program to find the maximum value of ∑arr[i]*i ...
- bzoj 4310: 跳蚤
Description 很久很久以前,森林里住着一群跳蚤.一天,跳蚤国王得到了一个神秘的字符串,它想进行研究. 首先,他会把串分成不超过 k 个子串,然后对于每个子串 S,他会从S的所有子串中选择字典 ...
- windows net 命令(转载)
CMD-NET命令详解 net命令大全,net命令用法,net网络命令,net命令使用,net命令集,net命令介绍,net常用命令,net命令的使用技巧,net命令如何使用 大家在操作Windows ...
- 重启网络服务时 Bringing up interface eth0
重启网络服务时报错: Bringing up interface eth0: Error:Connection activation failed:Device not managed by Net ...
- Java 浮点型与双精度数值比较
对于双精度与浮点数之间的比较存在潜在的转化