今非昔比系统下的可试行文件,golang编写翻译程序在linux上的配置

正文首要介绍在window境况下,使用开采工具liteide对go程序进行交叉编写翻译(在贰个阳台上生成另几个平台的可实践程序),将转换的可实施文件计划在Linux服务器上,使大家付出的主次能平素运营在linux上。

golang 很好用,可是要把工具链弄完整.
要不您会意识怎么不能够编译跨平台的啊? 怎么写代码没提示啊? …

Golang 接济在四个平台下生成另二个阳台可实施程序的交叉编写翻译功用。

付出条件

这一条龙弄下来并不轻巧. 所以精心图谋了一套工具方便我们利用.
软件列表如图. 安装顺序相当重大,依次为:
wxdevcpp_7.4.2_full_今非昔比系统下的可试行文件,golang编写翻译程序在linux上的配置。setup.exe
go1.7.3.windows-386.msi
今非昔比系统下的可试行文件,golang编写翻译程序在linux上的配置。liteidex30.3.windows-qt5.zip

1、Mac下编写翻译Linux, Windows平台的六十人可推行程序:

付出境况为 :windows开垦IDE为:liteidex

缘由是 golang 跨平台编写翻译须要 gcc,而 liteide 又须要它们两个.

$ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build test.go
$ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go

操作步骤


2、Linux下编译Mac, Windows平台的陆十二个人可推行程序:

1.接力编写翻译Windows 下编写翻译 Linux 六十几人可施行程序,这里必要解释一下

(地址是 golang 大集合,请进来其
“go1.7.3合集”子目录):

$ CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build test.go
$ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go

GOOS:目的平台的操作系统(darwin、freebsd、linux、windows)GOARCH:目的平台的系统架构(386、amd64、arm)
交叉编写翻译不接济 CGO 所以要禁用它

[图片]

3、Windows下编写翻译Mac, Linux平台的63位可试行程序:

实际命令如下:

www.5929.com 1

$ SET CGO_ENABLED=0SET GOOS=darwin3 SET GOARCH=amd64 go build test.go
$ SET CGO_ENABLED=0 SET GOOS=linux SET GOARCH=amd64 go build test.go

SET CGO_ENABLED=0SET GOOS=linuxSET GOARCH=amd64go build main.go

 

注:假诺编写翻译web等工程项目,直接cd到工程目录下直接实施以上命令

首先步入cmd命令行,cd到go情状的设置目录下的src目录;然后每家每户推行以下命令(奉行前先安装tdm64-gcc-4.8.1-3):

 

GOOS:指标可试行程序运营操作系统,协理 darwin,freebsd,linux,windows
GOARCH:目的可实践程序操作系统构架,包涵 386,amd64,arm

set GOOS=linuxset GOARCH=386set CGO_ENABLED=0make.bat


Golang version
1.5原先版本在第一遍交叉编写翻译时还亟需布置交叉编写翻译情状:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64
./make.bash
CGO_ENABLED=0 GOOS=windows GOARCH=amd64
./make.bash

假如要生成64个人linux下的运转程序则相继输入下列命令:

编写翻译的方法参谋了园子网络亲密的朋友的篇章,然而 wxdevcpp
更易于找到,而且是本身间接都用的编写翻译器,所以用了它带的 gcc.

set GOOS=linuxset GOARCH=amd64set CGO_ENABLED=0make.bat

from

若是要生成arm6下的运作程序则相继输入下列命令:

Golang在windows下交叉编写翻译linux程序 [转贴加 clq
的修正]
二〇一四-04-19 15:17 by 埋头前进的码农, 3494 阅读, 0 商议, 收藏, 编辑

set GOOS=linuxset GOARCH=armset GOARM=6set CGO_ENABLED=0make.bat

1、下载相关程序。

例如:作者将go蒙受安装在D:\Go下,况兼小编要生成陆14人linux下的运作程序;则本身索要在cmd命令行下输入:

  Golang下载:

C:\Users\Administrator>d:D:>cd d:/go/srcd:\Go\src> set
GOOS=linuxd:\Go\src> set GOARCH=amd64d:\Go\src> set
CGO_ENABLED=0d:\Go\src> make.bat

  Git下载:

www.5929.com,2.试行完第一步后,就足以在IDE中对GO程序进行交叉编写翻译了;在IDE中校编写翻译的遭受变量设置为cross-linux64,然后点击查看编辑遇到变量,根据go的安装配置好设置信息,保存!

  TDM-GCC下载:

3.进来到程序的行事路径(即main程序所在路径),go build
main.go则会在档期的顺序根目录生成对应的实施文书,推行文件名叫根目录的文件名。将转移的实行文书和顺序一些此外的文本(主假若部分和次序相关的陈设文件等静态文件)上传到linux服务器,比方使用beego框架,除了上传实行文书外还亟需将views,static,conf等3个文件夹上传到服务器。

2、Go编译情状安插

极度重申一下,每一次重新铺排服务时,应当要记得同步创新配备文件!!!4.进去linux系统下刚刚上传文件的目录,使用权限命令

  安装
TDM-GCC,程序会活动安装PATH情状变量,若无设置成功请手动设置。

chmod 777 程序名称

  安装Go,安装完后亟需安装GOROOT,GOPATH,GOBIN,PATH意况变量,

接下来利用使程序在后台运维的一声令下

  其中  

nohup ./程序名 &

  GOROOT为你的Go安装跟目录

借使要关闭程序,可以利用命令”ps” 查看后台程序的pid,然后使用“kill
程序pid”命令,关闭程序举个例子程序名叫test,可以用如下命令查询

  GOPATH为您go程序开辟目录,go get后的包也会下载到该目录。

ps aux|grep test

  GOBIN为您的go运转目录,运行 go install
命令后,程序会被安装到该目录。

亟待在前台运转,直接

  PATH为您Go程序根目录,用于能够通过调控台调用go命令。

./程序名

3、配置交叉编写翻译蒙受

前台进度的挂起:

  在Go根目录下的src目录,新建三个build.bat文件,并复制内容如下:
复制代码

ctrl+Z //进度的告一段落

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

后台进度的终止:

复制代码

方法一: 通过jobs命令查看job号,然后施行kill %num方法二:
通过ps命令查看job的经过号(PID,假使为pid),然后实践kill pid

  作者的Go程序版本是1.6,需求安装GOROOT_BOOTSTRAP变量为Go的设置目录,不然实施时会报错。

前台进程的终止:

  然后运行build.bat,等待截止。

ctrl+c

  该程序会编写翻译其他平台编写翻译Go要求的库和编译文件。

在Linux服务器上陈设服务别的部分恐怕用到的授命有:

  达成后,在cmd命令行下依次推行:

& 那些用在二个命令的尾声,可以把这些命令放到后台实施 ps
列出系统中正在运营的历程kill
发送频限信号给二个或七个进程(平时用来杀死三个经过)jobs
查看当前有多少在后台运行的授命fg
将后台北的命令调至前台继续运维假设后台北有两个指令,能够用 fg
%jobnumber将当选的一声令下调出,%jobnumber是透过jobs命令查到的后台正在实行的命令的序号bg
将二个在后台暂停的指令,产生继续推行若是后桃园有三个指令,能够用bg
%jobnumber将当选的通令调出,%jobnumber是透过jobs命令查到的后台正在进行的授命的序号

  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

 

Leave a Comment.